Wie erkennt man, welche Zahlen in einer Zeichenfolge in C# enthalten sind?
//测试函数 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"
Wenn im obigen Beispieltest ein Pluszeichen vorhanden ist, sieht die Ausgabe wie folgt aus:
2345 345 678 945
Wenn es kein + gibt, wird die Ausgabe wie folgt ausgegeben:
2 3 4 5 3 .......
Wie erkennt C# oben, welche Zahlen sich in einer Zeichenfolge befinden? Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!