0

たとえば、数字と文字を含む文字列が与えられた場合

Mi2ch£al

文字以外のすべて(したがって、数字と文字)を削除するための適切な正規表現は何でしょうか?

また、このタスクには .NET 2.0 を使用しています。

4

4 に答える 4

1

Linq を使用してもかまわない場合:

string s = new string("Mi2ch£al".Where(c => !char.IsNumber(c) && !char.IsLetter(c)).ToArray());
于 2012-07-14T15:41:04.680 に答える
0

\p{L}\P{L}文字である任意の文字と、文字ではない任意の文字 (非ラテン文字セット、アクセント付き文字などを含む) に一致します。したがって、次のように簡単に使用できます。

Regex.Replace(input, @"\P{L}", String.Empty)

input入力文字列です。

于 2012-07-14T15:41:41.587 に答える
0
string s = "Mi2ch£al";
s = Regex.Replace(s, @"[^\w\s]", "");

国際的なアクセント付き文字が必要ない場合は、次のようにします。

string s = "Mi2ch£al";
s = Regex.Replace(s, @"[^a-zA-Z0-9\s]", "");
于 2012-07-14T15:25:08.507 に答える
0

[^a-zA-Z]正規表現を空の文字列に置き換えるか[^a-zA-Z\s]、スペースを節約します

于 2012-07-14T15:25:25.533 に答える