C# split怎样有选择性的分割字符串

比如说我一段字符串:str=111,222,333,"444,555",666,"777,888“,999
我想以逗号来分割字符串,但是引号内的逗号不作为分割判断的标准
分割完之后应该如下:
111
222
333
"444,555"
666
"777,888"
999

请问该如何实现

先split双引号, 将得到的字符串数组下标为偶数的再按照逗号进行分割追问

刚才的字符串是我随便打打,那如果“”引号的分布没有规律,要怎么判断?

追答

双引号一定成对的, 分开以后被双引号括起来的部分落在数组下标为奇数的位置上
如果你的双引号是单数个那肯定不对

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-05-28
string[] array = Regex.Split("111,222,333,\"444,555\",666,\"777,888\",999", "(?<!\"\\d+),(?!\\d+\")");

试试吧

本回答被提问者采纳

c#中split()的用法
在C#中,String类的split方法是最常用于字符串拆分操作的。其基本语法为:string[] result = sourceString.Split;string[] result = sourceString.Split; \/\/ count 参数表示最大拆分数,可选参数。 还可以传入其他重载版本,如使用字符串数组作为分隔符等。分隔符参数:split方法接受一个或多个分隔符作...

C# 中“Split方法”怎样用?多个分隔符号分割字符串?
string.Split(new char[]{'单个字符','单个字符',...}, StringSplitOptions )就可以得到一个按照多个字符分割的字符串数组了。\\x0d\\x0a如:\\x0d\\x0astring s="怎样用,多个分$隔符号分@割字符串?";\\x0d\\x0astring[] stringSplit = fileDirs[i].Split(new char[] { ',,'$','@'}...

C#中split的方法和用法
string[] sArray=s.Split('c') ;foreach(string i in sArray)Console.WriteLine(i.ToString());输出下面的结果:ab deab deab de第二种方法:我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割:string s="abcdeabcdeabcde";string[] sArray1=s.Split(new ch...

c#怎么从指定的位置截取字符串
1.根据单个分隔字符用split截取 例如 复制代码 代码如下:string st="GT123_1";string[] sArray=st.split("_");即可得到sArray[0]="GT123",sArray[1]="1";2.利用多个字符来分隔字符串 例如 复制代码 代码如下:string str = "GTAZB_JiangjBen_123";string[] sArray = str.Split(new ch...

sql怎么实现有c#里的spilt拆分字符串的方法啊
CREATE FUNCTION uf_StrSplit (@origStr varchar(7000), --待拆分的字符串 markStr varchar(100)) --拆分标记,如','RETURNS @splittable table (str_id varchar(4000) NOT NULL, --编号ID string varchar(2000) NOT NULL --拆分后的字符串 )AS BEGIN declare @strlen int,@...

C#中split函数只能去除空的字符串不能去除空格么?
他不是用来去除某个字符的,是用来拆分字符串的。要是去掉字符串中的空格可以用正则表达式,要是去掉字符串两头的空格可以用Trim()。

c#怎么从文本中得到指定条件的字符串啊?
分割字符串。string str = "易中天老师 易中天老师简介 易中天 所在大学: 厦门大学 所在城市: 福建  所在院系:人文学院 易中天,1947年生,湖南长沙人,1981年毕业于武汉大学,获文学硕士学位并留校任教,现任厦门大学人文学院教授,长期从事文学、艺术、美学、心理学、人类学、历史学等...

C#中如何分割字符串
(1)如果字符串格式为:String str="abc#def#hijkl#mn";string[] s = str.Split(new char[] { '#' });结果就是:s[0]="abc";s[1]="def";s[2]="hijkl";s[3]="mn";(2)如果是单纯的字符串截取就简单了,比如:String str="abcdefg";String strnew=str.Substring(3,3);...

C#的split怎么用空格分隔字符串, string [] ss= str.Split('');为什么...
简答:改为:string [] ss= str.Split(' ');注意:是‘ ’,不是'',即两个单引号中间有个空格。详解:你把单个空格字符,和空字符串搞混了。空字符串,就是,空的字符串,里面是没有东西的。(空格,这个字符,本身也是个字符,只是你看起来,是空白而已。但是键盘也是可以输入进去的,也占用...

c#中怎样把101014203分割成1010和142和03
用split的话 串中必须有分隔符,如:1010,142,03 这样你就可以用split以“,”分了 如果像你这样的用split就不行了,你可以用subString分 string s="101014203";string a=s.substring(0,4);\/\/从字符串的第0个字符开始分隔4个字符 string b=s.substring(4,3);\/\/从字符串的第4个字符...

相似回答