我正在尝试编写正则表达式来拆分以下字符串
"17. Entertainment costs,16. Employee morale, health, and welfare costs,3. Test"
向
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?
答案 0 :(得分:3)
答案 1 :(得分:1)
那是因为你正在分裂(例如),2
- 2
被认为是分隔符的一部分,就像逗号一样。要解决此问题,您可以使用lookahead assertion:
Regex regex = new Regex( ",(?=[1-9])" );
表示“逗号,只要逗号后面紧跟非零数字”。