>  기사  >  백엔드 개발  >  C#의 문자열에 어떤 숫자가 있는지 감지하는 방법은 무엇입니까?

C#의 문자열에 어떤 숫자가 있는지 감지하는 방법은 무엇입니까?

黄舟
黄舟원래의
2017-02-20 11:19:241407검색

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

no +이면 다음과 같이 출력됩니다.

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

위는 C#입니다. 문자열에 어떤 숫자가 있는지 감지하는 방법은 무엇입니까? 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.