【发布时间】:2015-08-10 21:20:30
【问题描述】:
我有像
这样的字符串"11,Standard(db=S,api=Standard),UI,1(db=1,api=STANDARD),Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36,1010,9999,1000,9998.0,,1"
我想用 char ',' 来分割它,但我不喜欢在 '()' 中包含 ','。请帮助如何在 c# 中拆分此类字符串。 忽略 () 中的 char ','。
输出应该是这样的:
array of string = [
"11",
"Standard(db=S,api=Standard)",
"UI",
"1(db=1,api=STANDARD)",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
"1010"
等等
【问题讨论】:
-
你需要一个解析器。您应该能够写一个,一次只读取一个字符并保持状态以查看您是否在
()范围内。 -
任何像正则表达式的东西?
-
嵌套
x(a,b(c,d),e)的情况下怎么办? -
你最好显示你期望这个操作的输出......对于@DmitryBychenko的问题中提到的情况应该是什么?