可能重复:
Regular Expression to split on spaces unless in quotes
我正在处理各种字符串,除非是在“引号”中存在该空格,否则我需要将其拆分为数组。
例如,我想这样:
this is "a simple" test
..成为:
[0] = this
[1] = is
[2] = "a simple"
[3] = test
注意我想保留短语周围的引号,而不是删除它们。
答案 0 :(得分:0)
正则表达式:
".*?"|[^\s]+
用法:
String input = @"this is ""a simple"" test";
String[] matches =
Regex.Matches(input, @""".*?""|[^\s]+").Cast<Match>().Select(m => m.Value).ToArray();