C# で文字列に含まれる数値を検出するにはどうすればよいですか?

黄舟
リリース: 2017-02-20 11:19:24
オリジナル
1447 人が閲覧しました

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"
上記の例をテストすると、プラス記号がある場合、出力は次のようになります:

2345  
345
678
945
ログイン後にコピー

+ がない場合、出力は次のようになります:

2
3
4
5
3
.......
ログイン後にコピー

上記は C# が文字列を検出する方法です 数字は何ですか?関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート