9

多くの文字を含む文字列があります。A-Z-Z と空白を削除して残りを残したい。これを行う最善の方法は何ですか?

これが私が試したことです

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

しかし、空白も削除する必要があります。

4

5 に答える 5

10

\s を使用できます。

例えば:

presaleEstimateHigh = Regex.Replace(presaleEstimateHigh, @"[A-Za-z\s]", string.Empty);
于 2012-11-17T19:19:18.270 に答える
3

空白を除いて、正規表現は問題ありません。これはうまくいくはずです:

string result = Regex.Replace(myString, @"[a-zA-Z\s]+", string.Empty);
于 2012-11-17T19:18:34.107 に答える
3

正規表現なし:

var chars = str.Where(c => !char.IsLetter(c) && !char.IsWhitespace(c)).ToArray();
var rest = new string(chars);
于 2012-11-17T19:21:49.077 に答える
2

\s空白を含めるために使用できます。

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

デモ: http://ideone.com/yHG2xw

于 2012-11-17T19:19:32.167 に答える
1

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

[a-zA-Z ]+

空白が含まれているだけです。a を追加する+と、一連の文字全体を一度に (内部的に) 置換できるため、より効率的になります。

于 2012-11-17T19:29:24.643 に答える