正则表达式。拆分os空格。考虑双引号文本

时间:2015-08-01 14:44:33

标签: c# regex double-quotes

我正在使用正则表达式来分割字符串。这是输入: Value1 Value2 "Val ue3"

输出应为:

  • 值1

  • 值2

  • Val ue3

正则表达式应该使用什么?

1 个答案:

答案 0 :(得分:3)

你可以尝试这种模式:

"\\w+|\"[\\w ]+\""

它会在引号之间匹配带有空格的单词和单词。由于您的输出表明您希望删除引号,因此String.Replace()可以处理此问题。

using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main()
    {
        string data = "Value1   Value2   \"Val ue3\"";
        MatchCollection matchCollection = Regex.Matches(data, "\\w+|\"[\\w ]+\"");
        foreach (Match match in matchCollection)
        {
            Console.WriteLine(match.Value.Replace("\"", String.Empty));
        }
    }
}

结果:

Value1
Value2
Val ue3

Fiddle Demo