//测试函数 private void Form1_Load(object sender, EventArgs e) { foreach (var number in ExtractNumbersFromString("abc2345 345fdf678 jdhfg945")) { 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# 怎样检测string字符串中有哪些数字?的内容,更多相关内容请关注ki4网(www.ki4.cn)!