从字符串中删除字母和空格

9

我有一个字符串,其中包含许多字符。我想删除A-Za-z和空格,只留下其余部分。最好的方法是什么?

这是我尝试过的方法:

presaleEstimateHigh = Regex.Replace(presaleEstimateHigh, @"[A-Za-z]", string.Empty);

但我也需要去除空格。

5个回答

10
你可以使用\s。
例如:
presaleEstimateHigh = Regex.Replace(presaleEstimateHigh, @"[A-Za-z\s]", string.Empty);

3

没有正则表达式:

var chars = str.Where(c => !char.IsLetter(c) && !char.IsWhitespace(c)).ToArray();
var rest = new string(chars);

3
您的正则表达式没问题,除了空格。这应该可以解决问题:

string result = Regex.Replace(myString, @"[a-zA-Z\s]+", string.Empty);

%20 不是唯一的空格。 - mellamokb

2

1
你差不多做到了。使用这个正则表达式。
[a-zA-Z ]+

它只包括空格。添加一个+使其更有效率,因为整个字符序列可以一次性替换(在内部)。


这不包括制表符。 - Dan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接