我正在使用正则表达式来分割字符串。这是输入:
Value1 Value2 "Val ue3"
输出应为:
值1
值2
Val ue3
正则表达式应该使用什么?
答案 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