stringから数字と文字とは異なるすべての記号を削除する正規表現が必要です。例:数字と文字とは異なる文字列をすべて文字列から取り除く
string address = "TEXT 3 [email protected]#$%^&*()_}|{:?> REMOVE ALL SYMBOLS 45";
string result = "TEXT 3 REMOVE ALL SYMBOLS 45";
stringから数字と文字とは異なるすべての記号を削除する正規表現が必要です。例:数字と文字とは異なる文字列をすべて文字列から取り除く
string address = "TEXT 3 [email protected]#$%^&*()_}|{:?> REMOVE ALL SYMBOLS 45";
string result = "TEXT 3 REMOVE ALL SYMBOLS 45";
これは動作するはずです:
var result = new Regex("[^a-zA-Z0-9 ]").Replace(address, string.Empty);
これは続けて何a-Z
、A-Z
または0-9
またはwhite space
で
また、LINQを使用することができます。
var result2 = new String(address.Where(x => char.IsLetterOrDigit(x)
|| char.IsWhiteSpace(x)).ToArray());
このください
を試してみてくださいstring address = "TEXT 3 [email protected]#$%^&*()_}|{\":?> REMOVE ALL SYMBOLS 45";
var sb = new StringBuilder();
foreach (var c in address)
{
if (Char.IsLetterOrDigit(c) || Char.IsWhiteSpace(c))
sb.Append(c);
}
var result = sb.ToString();
正規表現よりも速くなければなりません。
'if(c == '|| Char.IsLetterOrDigit(c))...'がうまくいかなかったかどうかわからないので、要求されなかったタブ文字や改行文字も使用できるようになりました。 –
スペースも要求されていませんでしたが、それらはサンプルに存在しています。また、我々は外来文化について考えるべきか分かりません。だから本当にたくさんの質問があります:) – tym32167
どちらも私のために働いた。 最終コード:
var addressWithoutEmtySpacesMoreThanOne = Regex.Replace(address, @"\s+", " ");
var result = new Regex("[^a-zA-Zа-яА-Я0-9 -]").Replace(addressWithoutEmtySpaces, "");
customer.Address = result;
最後の ' - ':それはなに? –
@PowerPuffGirlどれが正確? – user3185569
なぜ落選ですか? – user3185569