1つの大きな文字列だけのファイルがあります。この文字列には、次のように3つの数字で終わる文があります。
マウスが見えます。1980 11羊赤血球マウス198065見たマウス19808 8
ファイル/出力が次のようになるようにこれを変更したいと思います。
マウスが見えます。1980 1 1
ヒツジ赤血球マウス19806 5
見たマウス19808 8
この問題を解決するために私が使用しているコードは次のとおりです。
with open('ngram_test') as f:
for line in f:
#print(line)
for word in line.split():
print(word)
ただし、これは文字列と改行の各単語のみを出力します。どんな助けでも大歓迎です!
正規表現を使用すると、\n
パターンが出現するたびに改行()を追加できます。
import re
s = "sees mouse . 1980 1 1 sheep erythrocytes mouse 1980 6 5 seen mouse 1980 8 8"
pattern = r"(\d{4}\s\d{1,2}\s\d{1,2})"
for match in re.findall(pattern, s):
s = re.sub(match, f'{match}\n', s)
出力:
'sees mouse . 1980 1 1\n sheep erythrocytes mouse 1980 6 5\n seen mouse 1980 8 8\n'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加