次のような、で始まる文字列からテキストを削除したいと思います"\"。
\xf, \africa\87, \ckat\x70, ...
で貪欲な文字を使用してこれを行う方法はありre.subますか?
例えば:
line = re.sub("[\.*]", "", line)
ありがとう!
編集: 入力例:
" lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
出力:
" lorem ipsum lorem ipsum"
私があなたの質問を正しく理解しているなら、文からASCII以外の接頭辞をすべて削除してください。
あなたは雇用の有無にかかわらず簡単にそれsingle pass LCを行うことができますordinal matchfilterregex
>>> data = " lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
>>> ' '.join(e for e in data.split() if 31 < ord(e[0]) < 127)
'lorem ipsum lorem ipsum'
regex = re.compile(r"""
\\\S+\s*
""", re.VERBOSE)
line = r" lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
replaced = regex.sub("", line)
「\」をエスケープ文字としてではなく通常の文字として扱うように Python に指示する必要があることに注意してください。これは、文字列の前に r を追加することによって行われます。
また、「\」で始まり、次の空白文字までのすべてのテキストを削除する必要があると仮定します。