Windows DNSデバッグログを読み込むプログラムを作成しましたが、内部には常にドメインフィールドに面白い文字があります。以下はPythonはユニコード文字を置き換えます
は例の一つである:
(13)\xc2\xb5\xc2\xb1\xc2\xbe\xc3\xa2p\xc3\xb4\xc2\x8d(5)example(3)com(0)'
私は交換したいすべて私が明示的に入力し?
と\x..
は\ XC2は作品
line = '(13)\xc2\xb5\xc2\xb1\xc2\xbe\xc3\xa2p\xc3\xb4\xc2\x8d(5)example(3)com(0)'
re.sub('\\\xc2', '?', line)
result: '(13)?\xb5?\xb1?\xbe\xc3\xa2p\xc3\xb4?\x8d(5)example(3)com(0)'
しかし、そのないが、次のように私が次のように書くと働く:
re.sub('\\\x..', '?', line)
どのように正規表現を書いてそれらをすべて置き換えることができますか?
純粋に読者のためのエーザイサイズ - re.sub( '[\ x80- \ xff]'、 '?'、line) '。しかし、しないでください、@ウィムの答えはあなたが行くべきものです。 –