C# 带引号的多个分隔符上的正则表达式拆分字符串
我有以下字符串(双引号是字符串的一部分): 因此字符串以双引号开始,每个段由C# 带引号的多个分隔符上的正则表达式拆分字符串,c#,.net,regex,split,C#,.net,Regex,Split,我有以下字符串(双引号是字符串的一部分): 因此字符串以双引号开始,每个段由“分隔,字符串以双引号结束。我想将其分为: abc def ghi %1 %2 我尝试了以下方法:“(^\”)(\“\”)”(\“\”)”(\“$)”,但这并没有给我想要的结果 Regex regex = new Regex("\"(.*?)\""); 结果: 结果: 不要把它复杂化。只需使用字符串拆分: string test = "\"abc def ghi\" \"%1\" \"%2\"";
“
分隔,字符串以双引号结束。我想将其分为:
abc def ghi
%1
%2
我尝试了以下方法:“(^\”)(\“\”)”(\“\”)”(\“$)”
,但这并没有给我想要的结果
Regex regex = new Regex("\"(.*?)\"");
结果:
结果:
不要把它复杂化。只需使用字符串拆分:
string test = "\"abc def ghi\" \"%1\" \"%2\"";
var splits = test.Split(new string[]{"\" \"","\""},StringSplitOptions.RemoveEmptyEntries);
foreach (var split in splits)
{
Console.WriteLine(split);
}
(同时删除多余/空的条目)不要使其复杂化。只需使用字符串拆分:
string test = "\"abc def ghi\" \"%1\" \"%2\"";
var splits = test.Split(new string[]{"\" \"","\""},StringSplitOptions.RemoveEmptyEntries);
foreach (var split in splits)
{
Console.WriteLine(split);
}
(同时删除多余/空的条目)这是您使用
Regex
的答案。尼斯:。这是可行的,但结果是一个由7个字符串组成的数组:[“”、“abc def ghi”、“”、“%1”、“”、“%2”、“”]
。我想得到一个包含3个字符串的结果。这是您使用Regex
得到的答案。尼斯:。这是可行的,但结果是一个由7个字符串组成的数组:[“”、“abc def ghi”、“”、“%1”、“”、“%2”、“”]
。我想得到一个有3个字符串的结果。像这样是因为这是一个非常简单的解决方案。然而,我想要一个只包含3个字符串的结果,而不是7个…@Ronaldenberg-看看我的拆分变体。像这样,因为这是一个非常简单的解决方案。但是,我想要一个只包含3个字符串的结果,而不是7个…@Ronaldenberg-看看我的拆分变体。比我的答案更好,我喜欢它。正是我想要的结果:)谢谢。比我的答案更好,我喜欢它。正是我想要的结果:)谢谢。
string test = "\"abc def ghi\" \"%1\" \"%2\"";
var splits = test.Split(new string[]{"\" \"","\""},StringSplitOptions.RemoveEmptyEntries);
foreach (var split in splits)
{
Console.WriteLine(split);
}