2012-11-17 20 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修正 - 私の答えを更新しました。 –

2

あなたは空白を含めること\sを使用することができます。

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

デモ:正規表現なしhttp://ideone.com/yHG2xw

3

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

あなたはほとんどそれを作りました。この正規表現を使用してください。

[a-zA-Z ]+ 

単に空白が含まれています。 +を追加すると、一連の文字を一度に(内部的に)置き換えることができるので、効率が向上します。

+0

これにはタブは含まれていません。 – Dan

関連する問題