问题描述
我在sData中有一个字符串,我想用逗号分割字符串。包含逗号的数据由\符号转义,就像逗号写为\,\。
\,\,\\ \\test,test \,\test@test.com \,\test home \,\home 2 \,\city \,\ AZ\,\ 160047\,\ 9988345631\,\ 9988345631\,\ 2911\,\ 10/02 / 2016\,\\ \\男性,\sspar \,\\NCAA \,\\是,\\,\AAAAAAAAAAA \,\Valdez高中; Po Box 398 ;;; Valdez; AK; 99686 0398; USA; 020150; \,\school phone \,\Class Rank \,\Class Rank\ \ 1\,\ 2\,\ 3\,\ 4\,\ 5\,\ 6\,\\ \\7 \,\8 \,\9 \,\\,\Event / Time-1 \,\活动/时间-2 \,\Event / Time-3 \,\Event / Time-4 \,\Event / Time-5 \,\Event XC \,\\ \\其他\,\\ Event\,\Workout \,\12 \,\Yes \,
I have a string in sData and i want to split the string by comma. The data containing comma is escaped by \ sign like a comma is written as \",\".
"\",\",\"test,test\",\"test@test.com\",\"test home\",\"home 2\",\"city\",\"AZ\",\"160047\",\"9988345631\",\"9988345631\",\"2911\",\"10/02/2016\",\"Male\",\"sspar\",\"NCAA\",\"Yes\",\" \",\"AAAAAAAAAAA\",\"Valdez High School;Po Box 398;;;Valdez;AK;99686 0398;USA;020150;\",\"school phone\",\"Class Rank\",\"Class Rank\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\" \",\"Event/Time-1\",\"Event/Time-2\",\"Event/Time-3\",\"Event/Time-4\",\"Event/Time-5\",\"Event XC\",\"OTHER\",\"Event\",\"Workout\",\"12\",\"Yes\","
Convert.ToString(sData).Split(',')
[0]: "\""
[1]: "\""
[2]: "\"test"
[3]: "test\""
[4]: "\"test@test.com\""
[5]: "\"test home\""
[6]: "\"home 2\""
[7]: "\"city\""
[8]: "\"AZ\""
[9]: "\"160047\""
[10]: "\"9988345631\""
[11]: "\"9988345631\""
[12]: "\"2911\""
[13]: "\"10/02/2016\""
[14]: "\"Male\""
[15]: "\"sspar\""
[16]: "\"NCAA\""
[17]: "\"Yes\""
[18]: "\" \""
[19]: "\"AAAAAAAAAAA\""
[20]: "\"Valdez High School;Po Box 398;;;Valdez;AK;99686 0398;USA;020150;\""
[21]: "\"school phone\""
[22]: "\"Class Rank\""
[23]: "\"Class Rank\""
[24]: "\"1\""
[25]: "\"2\""
[26]: "\"3\""
[27]: "\"4\""
[28]: "\"5\""
[29]: "\"6\""
[30]: "\"7\""
[31]: "\"8\""
[32]: "\"9\""
[33]: "\" \""
[34]: "\"Event/Time-1\""
[35]: "\"Event/Time-2\""
[36]: "\"Event/Time-3\""
[37]: "\"Event/Time-4\""
[38]: "\"Event/Time-5\""
[39]: "\"Event XC\""
[40]: "\"OTHER\""
[41]: "\"Event\""
[42]: "\"Workout\""
[43]: "\"12\""
[44]: "\"Yes\""
[45]: ""
如果我使用这个分隔符
if i use this separator
string[] seprator = { "\"," };
Convert.ToString(sData[i]).Split(seprator,StringSplitOptions.None)
{string[45]}
[0]: ""
[1]: ""
[2]: "\"test,test"
[3]: "\"test@test.com"
[4]: "\"test home"
[5]: "\"home 2"
[6]: "\"city"
[7]: "\"AZ"
[8]: "\"160047"
[9]: "\"9988345631"
[10]: "\"9988345631"
[11]: "\"2911"
[12]: "\"10/02/2016"
[13]: "\"Male"
[14]: "\"sspar"
[15]: "\"NCAA"
[16]: "\"Yes"
[17]: "\" "
[18]: "\"AAAAAAAAAAA"
[19]: "\"Valdez High School;Po Box 398;;;Valdez;AK;99686 0398;USA;020150;"
[20]: "\"school phone"
[21]: "\"Class Rank"
[22]: "\"Class Rank"
[23]: "\"1"
[24]: "\"2"
[25]: "\"3"
[26]: "\"4"
[27]: "\"5"
[28]: "\"6"
[29]: "\"7"
[30]: "\"8"
[31]: "\"9"
[32]: "\" "
[33]: "\"Event/Time-1"
[34]: "\"Event/Time-2"
[35]: "\"Event/Time-3"
[36]: "\"Event/Time-4"
[37]: "\"Event/Time-5"
[38]: "\"Event XC"
[39]: "\"OTHER"
[40]: "\"Event"
[41]: "\"Workout"
[42]: "\"12"
[43]: "\"Yes"
[44]: ""
仍然无法正常工作。它将第一个答案分成2个字符串和
请建议
我尝试过:
Still not working properly.Its splitting first answer into 2 strings "" and ""
Please suggest
What I have tried:
I have a string in sData and i want o split the string by comma. The data containing comma is escaped by \ sign like a comma is written as \",\".
在C#中尝试拆分功能
tried Split function in C#
推荐答案
Regex.Split
// string[] sAnser = Convert.ToString(sData[i]).Split(seprator, StringSplitOptions.None);
string[] sAnser = System.Text.RegularExpressions.Regex.Split(sData[i].Substring(1, sData[i].Length - 2), @"""\s*,\s*""");
这篇关于拆分CSV字符串无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!