C#RegEx在空格和短语上创建字符串数组(在引号中)

时间:2011-10-03 12:26:12

标签: c# regex

  

可能重复:
  Regular Expression to split on spaces unless in quotes

我正在处理各种字符串,除非是在“引号”中存在该空格,否则我需要将其拆分为数组。

例如,我想这样:

this is "a simple" test

..成为:

[0] = this
[1] = is
[2] = "a simple"
[3] = test

注意我想保留短语周围的引号,而不是删除它们。

1 个答案:

答案 0 :(得分:0)

正则表达式:

".*?"|[^\s]+

用法:

String input = @"this is ""a simple"" test";
String[] matches =
    Regex.Matches(input, @""".*?""|[^\s]+").Cast<Match>().Select(m => m.Value).ToArray();