Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带引号的多个分隔符上的正则表达式拆分字符串_C#_.net_Regex_Split - Fatal编程技术网

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);
        }