分割字符串
现在有一个这样的字符串,如下:"JRCDDS299","Win7",,,"TRDSDC_1.4.4 was installed Tue, 17 Sep 2013 13:59:14 +0300"
注意:"TRDSDC_1.4.4 was installed Tue, 17 Sep 2013 13:59:14 +0300"里有一个逗号。
我想在使用Split(',')的时候仅忽略双引号内的逗号。想请问大家怎么解决这个问题。如果是使用正则表达式,请给我个示例代码片段,谢谢了。 --------------------编程问答-------------------- 同学,直接用string.replace就可以了,把“,”替换成“” --------------------编程问答-------------------- 我目前用的是如下的方法,基本解决问题,如果有更好的方法,请告知我,谢谢大家。
string[] col = Regex.Split(line, ",(?=(?:(?:[^\"]*\"){2})*[^\"]*$)"); --------------------编程问答--------------------
我希望保持字符串内容不变。谢谢你的回答。 --------------------编程问答-------------------- 也可以自己写个方法,遍历字符串,以引号的奇偶性作为标记,用逗号来分隔。 --------------------编程问答-------------------- 用正则就是个好方法 --------------------编程问答--------------------
目前没有币用正则更好的办法 --------------------编程问答-------------------- 你可以先把双引号replace成单引号,然后用这个:
string teststring = "123-456-'78-9'-10";
Regex reg = new Regex(@"'[^']*'|[^-]+");
MatchCollection mc = reg.Matches(teststring);
foreach (Match m in mc)
{
Console.Write( m.Value + "\n");
}
123
456
'78-9'
10
这个我试了是可以的,
最后你Split完成后,在不单引号replace成双引号就行了,
你可以试试,希望有用
--------------------编程问答--------------------
补充:.NET技术 , C#