我在拆分字符串方面遇到了一些麻烦。
我的字符串:
"SG_ PJB_ : 1|10@0+ (0.25,-60) [-60|195.75] "Degrees Celcius" PCM,TCM,AFCM";
我想:
SG_
PJB_
1
10
0+
0.25
-60
-60
195.75
Degrees Celcius
PCM
TCM
AFCM
我的代码我试过了:
string s = "SG_ PJB_ : 1|10@0+ (0.25,-60) [-60|195.75] \"Degrees Celcius\" PCM,TCM,AFCM";
string[] res = s.Split(new char[] { ' ', ',', ':', '|', '@', '(', ')', '[', ']', ';' }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < res.Length; i++)
{
// Console.WriteLine(" ");
Console.WriteLine("{0}", res[i]);
}
Console.ReadKey();
但它在2个阵列中分裂了“Degrees Celcius”。我该怎么办?
答案 0 :(得分:1)
使用这种方式:
var result = input.Split(new[] { '"' }).SelectMany((s, i) =>
{
if (i%2 == 1) return new[] {s};
return s.Split(new[] { ' ', ',', ':', '|', '@', '(', ')', '[', ']', ';' },
StringSplitOptions.RemoveEmptyEntries);
}).ToList();