请教一个字符串分割问题

时间:2023-01-07 15:52:46
a=1,b="2",c="3,4"
期望得到结果
a=1
b=2
c=3,4

期待大侠指点 请教一个字符串分割问题

7 个解决方案

#1


先用split按逗号分隔成数组,然后遍历数组,replace掉引号

#2


Regex.Split(str,@"(?<!""\d+),(?!\d+"")")

#3


引用 1 楼 bdmh 的回复:
先用split按逗号分隔成数组,然后遍历数组,replace掉引号

c=3,4中间的,如何处理?

#4


	string str = "a=1,b=\"2\",c=\"3,4\",d=\"3,4,5\"";
var result = Regex.Split(str,@"(?<!""\d+),(?!\d+"")").Select(x=>x.Replace("\"","")).ToList();


a=1
 
b=2
 
c=3,4
 
d=3,4,5

 

#5


引用 4 楼 q107770540 的回复:
	string str = "a=1,b=\"2\",c=\"3,4\",d=\"3,4,5\"";
var result = Regex.Split(str,@"(?<!""\d+),(?!\d+"")").Select(x=>x.Replace("\"","")).ToList();


a=1
 
b=2
 
c=3,4
 
d=3,4,5

 

谢谢!

不过,抱歉,我举的例子简单了些,实际上可能是
a="xxxxx",b=xxxxx,c="xxx,xxx"
x不一定是数字而可能是任何字符

#6


换成这样即可: (?<!"[^"]+),

#7


引用 6 楼 q107770540 的回复:
换成这样即可: (?<!"[^"]+),


求完整字符串,拜谢!

#1


先用split按逗号分隔成数组,然后遍历数组,replace掉引号

#2


Regex.Split(str,@"(?<!""\d+),(?!\d+"")")

#3


引用 1 楼 bdmh 的回复:
先用split按逗号分隔成数组,然后遍历数组,replace掉引号

c=3,4中间的,如何处理?

#4


	string str = "a=1,b=\"2\",c=\"3,4\",d=\"3,4,5\"";
var result = Regex.Split(str,@"(?<!""\d+),(?!\d+"")").Select(x=>x.Replace("\"","")).ToList();


a=1
 
b=2
 
c=3,4
 
d=3,4,5

 

#5


引用 4 楼 q107770540 的回复:
	string str = "a=1,b=\"2\",c=\"3,4\",d=\"3,4,5\"";
var result = Regex.Split(str,@"(?<!""\d+),(?!\d+"")").Select(x=>x.Replace("\"","")).ToList();


a=1
 
b=2
 
c=3,4
 
d=3,4,5

 

谢谢!

不过,抱歉,我举的例子简单了些,实际上可能是
a="xxxxx",b=xxxxx,c="xxx,xxx"
x不一定是数字而可能是任何字符

#6


换成这样即可: (?<!"[^"]+),

#7


引用 6 楼 q107770540 的回复:
换成这样即可: (?<!"[^"]+),


求完整字符串,拜谢!