ubuntuでpdftotext -raw /path/to/pdf.pdf /path/to/output.txt
を使用してPDF文書をファイルに変換しました。私はsample = open("/path/to/output.txt").read()
を使って変換したファイルを読んだ。サンプルには、デコードされていないユニコード文字列(\xe2\x80\x99
など)があります。私は''
と正規表現を使用してそれらを置き換えたいです。私はpythonのalso thisとして\\x..
パターンusing this online regex tester選んだ言語を評価し、this SO Question's answerからの参照に基づいて\\\\x..
パターンを使用しますが、両方が出力として私を[email protected]\n\x0c
与え、このreを使用してユニコード文字列を置換する
abc="[email protected]\n\x0c"
re.sub(r'\\x..',"",abc)
re.sub(r'\\\\x..'," ",abc)
abc.encode("ascii","ignore")
を取るたとえばパターンにre.sub(r"""\\\\"""," ",sample),re.sub(r'\\x..',"",sample),re.sub(r'\\\\x..'," ",sample)
を使用しました。これらのユニコード文字列は削除されません。私はパターン\\\w..
を使いたくないので、エスケープシーケンスを選択するかもしれません。私はabc.encode( 'utf8')を試しても、UnicodeDecodeError
をスローしました。 \x??
が文字列として読み取られているため問題を理解していますが、これを修正する方法はわかりません。
あなたはソリューションのテストを実行したい場合は、これらを使用してください:
182\nWheel of Life, 24\xe2\x80\x9325, 135\xe2\x80\x93136
\n194\xe2\x80\x93195
CTI\xe2\x80\x99s\ntraining enables participants
80\xe2\x80\x9383
これらのテスト文字列の予想される出力は
182\nWheel of Life, 2425, 135136
\n194195
CTIs\ntraining enables participants
8083
注意する必要があります:
私は」また試しました
abc=abc.decode("utf-8")
abc=abc.encode("ascii","ignore")
これは、いくつかの文字を削除しますが、それでも私はので、私はこれらの文字列を置換するための唯一の正規表現方法をしたいフォームフィードある\x0c
のようないくつかの文字列を見ることができます。
しようとした正規表現:
abc="[email protected]\x0c\xc0ecoaches.com\n\x0c" #input
re.sub(r'[\\x[a-fA-F0-7]-\\x[a-fA-F0-7]]+',' ',abc)
re.sub(r'[^\x00-\x7F]+',' ',abc)
re.sub(r'\\x..',"",abc)
re.sub(r'\\\\x..'," ",abc)
downvotingの理由を追加してください。私の間違いを理解するのに役立ちます。問題は単純かもしれませんが、解決策が必要です。私はそれをここに投稿する前に、非常に多くの研究と実験法を行ってきた、私は彼らが