正規表現を使用して特殊文字を置換するには?
-
16-09-2019 - |
質問
正規表現を使用して特殊文字を置換するには? 特別なことで、私は何を意味することは、テキストに時々現れるものを象徴文字です。
例えば、以下のテキストで、私は、各行の先頭にある泡を削除します。
パスポート詳細
Name as on passport
Relationship
Passport Number
Date of Issue
Expiry Date
Place of Issue
質問に編集:申し訳ありませんが、行の先頭にバブルが質問を提出するもうvisible.Afterではありません、stackoverflowのは、その特殊文字を削除
。誰もがこれらの特殊文字を置換する方法を知っていますか?私は#、@または!などの文字を置換したくありません。これらは些細であり、キーボードで入力することができます。
申し訳ありませんが、私が説明しようとする私のquestion.Iでそれらの特殊文字を配置する方法を知りません。ワードファイルでは、テキストの前に弾丸を置きます。私はそのような文字をreprenting文字を置き換えたいです。私はバブルのように見える文字を含むいくつかのテキストファイルを持っています。
最後に、私は解決策を見つけました。 この正規表現は、私の作品
([^(A-ZA-Z0-9)+ | \ R | \ n | \ tの| '| "|#|、|:| / | \ | |、|])
解決
私は完全な例を肉付けするのに十分な時間がありません。
:あなたは、.NETを使用しているので、しかし、あなたはこれらの文字クラスの任意の数に一致させることができますhttp://msdn.microsoft.com/en-us/library /20bw873z.aspxする
あなたがそのセットと等しくないものを受け入れ、交換したいものを選択します。
他のヒント
(言語が指定されていた前に、これが投稿されました。)
Perlでスペースで非ASCII文字を置換するには、
$string =~ s/[^[:ascii:]]/ /g;
http://codepad.org/KTMvQiOz のを参照してください。ここ[^[:ascii:]]
は、非ASCII文字にマッチする正規表現です。
この正規表現を持つすべての「特別な」文字を検索し、ちょうど空白文字に置き換えることが可能であろう。
/[<special_characters_here>]/
しかし、通常このように、すべての許可された文字を言及し、空白文字でそれらではありませんすべてを置き換える、ホワイトリストを使用することをお勧めします:
/[^<allowed_characters_here>]/
は、キャリッジリターンと改行文字を置き換える意味するのですか?
それはあなたが後にしているものなら、これはそれを行うだろう。
var source = "once\r\ntwice\r\nthrice";
var pattern = new Regex(@"\r\n");
var result = pattern.Replace(source, ",");
Assert.AreEqual("once,twice,thrice", result);