1. 程式人生 > >C# 怎麼檢測string字串中有哪些數字?

C# 怎麼檢測string字串中有哪些數字?

        //測試函式
        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
.......