2

好的,我发现这是为了从字符串中删除所有不是数字的“垃圾”

TextIN = " 0 . 1 ,2 ; 3 4 -5 6 ,7 ,8; 9 "

string justNumbers = new String(textIN.Where(Char.IsDigit).ToArray());

=“0123456789”

这会从我的字符串中删除所有“垃圾”,只留下数字,但我仍然可以修改它,所以我可以在我的数字之间至少有一个分隔符,例如“0,1,2,3 ,4,5,6,7,8,9" 因为我需要分隔这个数字,这样我就可以将它们放在一个整数数组中并使用它们,而且并不总是只有一个数字我可能有 105、85692 等..有什么帮助吗?!

4

4 回答 4

5

您还可以像这样转换为数值:

int[] numbers = Regex.Matches(textIN, "(-?[0-9]+)").OfType<Match>().Select(m => int.Parse(m.Value)).ToArray();

@LB:同意,但也可能有负值。

于 2012-04-06T11:04:01.770 回答
1
string test = string.Join(",", textIN.Where(Char.IsDigit));
于 2012-04-06T10:50:13.110 回答
1

对于 n 位数字,您可以使用正则表达式。

string s = String.Join(",",
                  Regex.Matches(textIN,@"\d+").Cast<Match>().Select(m=>m.Value));
于 2012-04-06T11:01:39.887 回答
0
string justNumbers = new String(textIN.Where(Char.IsDigit).ToArray()); = "0123456789"
string[] words = justNumbers.Split(',');

将字符串分隔成一个数字数组,用逗号分隔。

于 2012-04-06T10:52:22.887 回答