//测试函数
private void Form1_Load(object sender, EventArgs e)
{
foreach (var number in ExtractNumbersFromString("abc2345345fdf678jdhfg945"))
{
MessageBox.Show(number.ToString());
}
}
private IEnumerable<int> ExtractNumbersFromString(string s)
{
//Regex.Matches 方法:在输入字符串中搜索正则表达式的所有匹配项并返回所有匹配。
//一次或多次匹配前面的字符或子表达式。等效于 {1,}。如果将+去掉,就是
//return Regex.Matches(s, @"\d+").Cast<Match>().Select(m => Convert.ToInt32(m.Value));
return Regex.Matches(s, @"\d").Cast<Match>().Select(m => Convert.ToInt32(m.Value));
}"abc2345 345fdf678 jdhfg945"以上例测试的时候,有加号,会这么输出:
2345
345
678
945
没有+的时候,会这么输出:
2
3
4
5
3
.......
C#提取字符串中数字
本文介绍了一种使用C#编程语言从字符串中提取数字的方法。通过正则表达式匹配和转换,该方法能准确地识别并提取出字符串中的所有数字,无论是连续还是单独出现的数字。
979

被折叠的 条评论
为什么被折叠?



