Maison  >  Article  >  développement back-end  >  Comment détecter quels nombres se trouvent dans une chaîne en C# ?

Comment détecter quels nombres se trouvent dans une chaîne en C# ?

黄舟
黄舟original
2017-02-20 11:19:241449parcourir

Comment détecter quels nombres se trouvent dans une chaîne en C# ?

  //测试函数
        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"
Lorsqu'il y a un signe plus dans l'exemple de test ci-dessus, le résultat sera comme ceci :

2345  
345
678
945

Quand il n'y en a pas, il sera affiché comme ceci :

2
3
4
5
3
.......

Ce qui précède explique comment C# détecte quels nombres se trouvent dans une chaîne ? Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn