C#RegEx创建字符串数组,拆分空格和短语(用引号括起来)

本文关键字:起来 短语 字符串 创建 数组 空格 拆分 C#RegEx | 更新日期: 2023-09-27 18:10:13

可能重复:
要在空格上拆分的正则表达式,除非在引号中

我正在处理各种字符串,这些字符串需要在任何有空格的地方拆分成数组,除非该空格存在于"引号"中。

例如,我想要这个:

this is "a simple" test

成为:

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

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

C#RegEx创建字符串数组,拆分空格和短语(用引号括起来)

正则表达式:

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

用法:

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