ファイルを読み込み、すべての行が\ d + \ sで始まる行を見つける方法を教えてください。そして、書き込み空間を、。いくつかの行には英字が含まれています。しかし、行の一部は中国語です。私は中国のエンコーディングのスペースは英語とは違っていますか?Python 2.7パターンが一致した場合に行を検索し、文字列を置き換えます。
例(TEXT.TXT)
asdfasdf
1 abcd
2 asdfajklsd
3 asdfasdf
4 ...
asdfasdf
66 ...
aasdfasdf
99 ...
100 中文
101 中文
102 asdfga
103 中文
私のテストコード:
with open('text.txt', 'r') as t:
with open('newtext.txt', 'w') as nt:
content = t.readlines()
for line in content:
okline = re.compile('^[\d+]\s')
if okline:
ntext = re.sub('\s', ',', okline)
nt.write(ntext)
すべてのスペースをカンマで置き換えますか?単に 'str.replace'を使わないのはなぜですか? –
're.compile'オブジェクトの存在をなぜチェックするのか分かりません。常にtrueを返します。つまり、 'okline = re.match(r '\ d + \ s'、line)'ですか? –
@COLDSPEED スペースを置き換える前に、すべての行が数字で始まることがわかります。私のサンプルファイルが示すように、いくつかの行は数字で始まっていません。これらの行はnewtext.txtに保存されません – Enoch