【发布时间】:2015-02-05 04:37:33
【问题描述】:
我有一个如下字符串:
{{"textA","textB","textC"}}
目前,我正在使用以下代码来拆分它们:
string stringIWantToSplit = "{{\"textA\",\"textB\",\"textC\"}}";
string[] result = stringIWantToSplit.Split(',');
我可以得到以下结果:
{{"textA"
"textB"
"textC"}}
之后,我可以手动修剪'{'和'}'以获得最终结果,但问题是:
如果字符串如下:
`{{"textA","textB,textD","textC"}}`
那么结果将与预期结果不同
预期结果:
"textA"
"textB,textD"
"textC"
实际结果:
{{"textA"
"textB
textD"
"textC"}}
如何获取两个双引号之间的字符串?
更新:
刚才查数据的时候,发现有的里面有小数,比如
{{"textA","textB","",0,9.384,"textC"}}
目前,我正在尝试使用 Jenish Rabadiya 的方法,而我正在使用的正则表达式是
(["'])(?:(?=(\\?))\2.)*?\1
但是使用这个正则表达式,没有选择数字,如何修改它以便可以选择数字/小数?
【问题讨论】:
-
你看过使用正则表达式吗?
-
停止滚动你自己的 CSV Parser secretgeek.net/csv_trouble
-
@ErikFunkenbusch 我不是在尝试解析 csv 文件,实际上,我正在尝试解析从数据库中保存的上述格式的字符串。