2012-11-17 205 views
9

我有一個包含許多字符的字符串。我想刪除A-ZA-Z和白色空間,剩下的就剩下了。什麼是最好的方法來做到這一點?從字符串中刪除字母字符和空格

這是我已經試過

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

,但我還需要刪除空白。

回答

10

您可以使用\ s。

例如:

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

你的正則表達式很好,除了空白。這應該工作:

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

'%20'不是鎮上唯一的空白。 – mellamokb

+0

@mellamokb正確 - 更新了我的答案。 –

3

沒有正則表達式:

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

你幾乎做到了。使用此正則表達式

[a-zA-Z ]+ 

它只包含空格。添加一個+可以提高效率,因爲可以立即替換整個系列字符(內部)。

+0

儘管這不包括標籤。 – Dan