Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.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#_Regex - Fatal编程技术网

C# 用于拆分字符串的正则表达式

C# 用于拆分字符串的正则表达式,c#,regex,C#,Regex,我正在尝试编写一个正则表达式来拆分以下字符串 "17. Entertainment costs,16. Employee morale, health, and welfare costs,3. Test" 进入 注意第二个字符串中的逗号 我正在努力 static void Main(string[] args) { Regex regex = new Regex( ",[1-9]" ); string strSplit = "1.One,2.Test,one,

我正在尝试编写一个正则表达式来拆分以下字符串

"17. Entertainment costs,16. Employee morale, health, and welfare costs,3. Test"
进入

注意第二个字符串中的逗号

我正在努力

static void Main(string[] args) {
        Regex regex = new Regex( ",[1-9]" );
        string strSplit = "1.One,2.Test,one,two,three,3.Did it work?";
        string[] aCategories = regex.Split( strSplit );
        foreach (string strCat in aCategories) {
            System.Console.WriteLine( strCat );
        }
    }
但是#的没有通过

1.One
.Test,one,two,three
.Did it work?
您可以使用
(?=…)
,如下表达式所示:

@",(?=\s*\d+\.)"
如果不想在
N之间留空格,请删除
\s*

您可以使用
(?=…)
,如下表达式:

@",(?=\s*\d+\.)"

如果您不想在
N之间留空格,请删除
\s*

这是因为您正在(例如)拆分
,2
2
被视为分隔符的一部分,就像逗号一样。要解决此问题,您可以使用:


意思是“一个逗号,前提是逗号后面紧跟着一个非零数字”。

这是因为(例如)
,2
-与逗号一样,
2
被视为分隔符的一部分。要解决此问题,您可以使用:


意思是“逗号,前提是逗号后面紧跟着一个非零数字”。

通过在“,[1-9]”上拆分,您将永远无法获得数组类别中的数字。可能尝试找到“,[1-9]”的索引,然后使用它保留子字符串,从而保留数字?通过在“,[1-9]”上拆分,您将永远无法获得数组类别中的数字。也许试着找到“,[1-9]”的索引,然后用它来保留子字符串,从而保留数字?我认为数字之前没有空格。我认为数字之前没有空格。谢谢大家!各就各位,谢谢大家!到处都是点。
        Regex regex = new Regex( ",(?=[1-9])" );