C# 用正则表达式在C中破句#
我正在尝试断开以下字符串:C# 用正则表达式在C中破句#,c#,regex,C#,Regex,我正在尝试断开以下字符串: 1. This is first 2. This is 45. second 3. This is third 使用正则表达式: question = Regex.Split(strText, @" [0-9]+\. "); 结果是: 1. This is first 2. This is 45. second 3. This is third 如我所愿: 1. This is first 2. This is 45. second 3. This i
1. This is first 2. This is 45. second 3. This is third
使用正则表达式:
question = Regex.Split(strText, @" [0-9]+\. ");
结果是:
1. This is first
2. This is
45. second
3. This is third
如我所愿:
1. This is first
2. This is 45. second
3. This is third
实际上我想用1中的数字来打断字符串。到30岁。如果语句中出现任何其他数字,则不应将其打断。
如何处理此字符串以获得上述结果?请尝试:
更新 正则表达式正确匹配1到30之间的数字,后跟一个点作为分隔符,问题在于
regex.Split()
行为。我认为使用Regex.Split()
不能一步到位。
使用Regex.Replace
和String.Split()
演示:尝试:
更新
正则表达式正确匹配1到30之间的数字,后跟一个点作为分隔符,问题在于regex.Split()
行为。我认为使用Regex.Split()
不能一步到位。
使用Regex.Replace
和String.Split()
演示:它可以工作,但给出的结果是:问题[0]=1,问题[1]=这是第一个,依此类推……它可以工作,但给出的结果是:问题[0]=1,问题[1]=这是第一个,依此类推。。。
Regex.Split(strText, @"\b([0-2]?[1-9]|30)\.");
question = Regex.Replace(strText, @"(\b([0-2]?[1-9]|30)\.)", System.Environment.NewLine + "$1").Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);