2011-12-11 19 views
0

私の現在の方法を交換するには?どのように正規表現で特殊文字を削除する代わりに、文字列

編集:申し訳ありませんが、すべての特殊文字をスペース ""で置き換えてください。あなたのコードが.にいくつかの文字を変換され、何をやっているの精密検査で

、およびその後スペースにすべて.を翻訳:

string q = Regex.Replace(query, @"[:#/\\]", "."); 
q = Regex.Replace(q, @""|['"",&?%\.*-]", " "); 

EDIT:

+2

HTMLEncodeを使用しますか? ... –

答えて

5

あなたはこれを使用することができます。だから、あなただけのこの操作を行うことができます:

string q = Regex.Replace(query, @""|['"",&?%\.*:#/\\-]", " ").Trim(); 

私はあなたがが、ここで何をしようとして、本当にわかりません。私は、あなたが探して本当にをしているもののように感じるようなものです:

string q = Regex.Replace(query, @"[^\w\s]", ""); 

そこに"の存在は、ループのための私を投げ、私は何をやっているかわからない理由です。 HTMLエンティティを取り除きたい場合は、最初にqueryからHttpUtility.HtmlDecode(string)まで実行し、正規表現を適用します。

+0

+1、あなたはOPコードを翻訳しました。 「"」または「&\w+;」 –

+0

@RubensFarias - 私は彼が何をしていたかについてはあまり推測したくありませんでしたが、それは良い点です。編集されました。古いバージョンでは、 '"'は1つではなく2つのスペースになりました。 –

1

これを試してください。

string pattern = @"[^a-zA-Z0-9]";    
string test = Regex.Replace("abc*&34567*opdldld(aododod';", pattern, " "); 
関連する問題