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])" );