C# 如何解析包含引号的字符串
我有一个这样的字符串,正如您所看到的,它由由空格分隔的属性/值对组成。例如:C# 如何解析包含引号的字符串,c#,arrays,string,parsing,split,C#,Arrays,String,Parsing,Split,我有一个这样的字符串,正如您所看到的,它由由空格分隔的属性/值对组成。例如:GRID“GLOBAL”或COORD 0 GRID "GLOBAL" LABEL "A" DIR "X" COORD 0 GRIDTYPE " " 文本值在引号内,但数字值不在引号内 将其拆分为如下字符串数组的最佳且最快的方法是什么: [GRID ,"GLOBAL", LABEL, "A", DIR, "X", COORD, 0, GRIDTYPE, " "] 下面的解决方案不起作用,因为GRID
GRID“GLOBAL”
或COORD 0
GRID "GLOBAL" LABEL "A" DIR "X" COORD 0 GRIDTYPE " "
文本值在引号内,但数字值不在引号内
将其拆分为如下字符串数组的最佳且最快的方法是什么:
[GRID ,"GLOBAL", LABEL, "A", DIR, "X", COORD, 0, GRIDTYPE, " "]
下面的解决方案不起作用,因为GRIDTYPE
之后的值中的“”之间也有空格
var tokens = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
这将是Regex的好地方:
string[] split = Regex.Matches(inputString, "(\\w+|\".*?\")")
.Cast<Match>()
.Select(m => m.Value)
.ToArray();
string[]split=Regex.Matches(inputString,“(\\w+\\”*?\”)
.Cast()
.选择(m=>m.Value)
.ToArray();