我需要用逗号分割字符串,但忽略某些情况。
例如此字符串(在每个逗号后面是空格字符):
我的第1个字,我的字2,我的字3,“我的字x,我的字y,我的字z”,我的字4,我的字5
应该拆分,以便显示:
我的话1
我的话2
我的话3
“我的字x,我的字y,我的字z”
我的话4
我的话5
基本上所有单词都应该用逗号分隔,但双引号中的单词应该用引号显示。
答案 0 :(得分:2)
string text = @"my word 1, my word 2, ""my word x, my word y"", my word 3";
string pattern = @"[^,""]+|""([^""]*)""";
IEnumerable<string> result = Regex.Matches(text, pattern).Cast<Match>()
.Select(m => m.Value.Trim())
.Where(s => !String.IsNullOrWhiteSpace(s));
结果:
my word 1
my word 2
"my word x, my word y"
my word 3