\u
で始まる文字列が出現し、それに続いてさまざまな形式の4文字の16進数(ユニコードオブジェクトではなく、データ内の実際の文字列が原因でクリーンアップしますデータ)とその出現を空白で置き換えたいと考えています。特定のパターンに対する正規表現
例のテキストファイル:例についてはHello \u2022 Created, reviewed, \u00e9executed and maintained
:文字列\u2022
と\u00e9
の発生があるだろう、私は\u
を見つけて2022
、その後に続く00e9
をサブストリング4文字と一緒にそれを削除したいと思います。私はこのパターンのための適切な正規表現を探しています。
コード例:本当に
import json
import io
import re
files = glob('Candidate Profile Data/*')
for file_ in files:
with io.open(file_, 'r', encoding='us-ascii') as json_file:
json_data = json_file.read().decode()
json_data = re.sub('[^\x00-\x7F]+',' ',json_data)
json_data = json_data.replace('\\n',' ')
json_data = re.sub(r'\\u[0-9a-f]{,4}',' ',json_data)
print json_data
json_data = json.loads(json_data)
print(json_data)
もし正しくなったら、文字列からユニコード文字を削除する必要がありますか? –
@LeonardoChirivìいいえ、私は、彼らが実際のユニコード文字ではなく、データそのものの文字列の形であることを明示しています。 –