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

时间:2012-11-17 19:12:21

标签: c# .net

我有一个包含许多字符的字符串。我想删除A-Za-z和白色空间,剩下的就剩下了。最好的方法是什么?

这是我尝试过的事情

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

但我还需要删除空格。

5 个答案:

答案 0 :(得分:10)

您可以使用\ s。

例如:

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

答案 1 :(得分:3)

你的正则表达式没问题,除了空格。这应该有效:

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

答案 2 :(得分:3)

没有正则表达式:

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

答案 3 :(得分:2)

您可以使用\s包含空格。

Regex.Replace(myString, @"[a-z]|[A-Z]|\s", "")

演示:http://ideone.com/yHG2xw

答案 4 :(得分:1)

你几乎成功了。使用此正则表达式

[a-zA-Z ]+

它只包含空格。添加+可以提高效率,因为可以一次(内部)替换整个系列的字符。