2017-01-14 12 views
0

私はテキスト文書を取って、別のテキスト文書に別々にそれぞれの単語を書き込もうとしています。私の唯一の問題は、私は時々単語が空白に基づいて分割されていないコードがあり、私はちょうど.splitを間違って使用しているのだろうか?もしそうなら、あなたはなぜ、あるいは何をうまくやるべきかを説明できますか?split()はすべての空白を分割しませんか?

ここに私のコードです:それは、新しく作成されたEmptyTXTdocに書かれているよう

list_of_words = [] 

with open('ExampleText.txt', 'r') as ExampleText: 
    for line in ExampleText: 
     for word in line.split(''): 
      list_of_words.append(word) 
      print("Done!") 
    print("Also done!") 

with open('TextTXT.txt', 'w') as EmptyTXTdoc: 
    for word in list_of_words: 
     EmptyTXTdoc.write("%s\n" % word) 

EmptyTXTdoc.close() 

これはExampleTextテキスト文書の最初の行です:

はの
個人
声明
を提出 リサーチ
および/または
アカデミック
および/または
career
計画代わりの.split('')(のみスペースまたは.split(' ')

+0

[mcve]を入力してください。 –

+0

'line.split( '')'または 'line.split( '')'を使用していますか? – ImportanceOfBeingErnest

+0

それを指摘していただきありがとうございます、私は入力を混乱させていたと忘れてしまった!私は、私が与えた例を生成するline.split()を使うことを意図していました。 – user3102350

答えて

1

使用.split()


また、ラインは、その末尾に改行(\n)で受け入れているため、ファイルのすべての反復のため.strip()lineを消毒考えます。

+0

もちろん、正規表現を使うことはできますが、問題の場合に ''個人的な ".split(" ")'が期待通りに動作しない理由についての説明はありますか? – ImportanceOfBeingErnest

+0

@ImportanceOfBeingErnest "空白"とは通常、スペース**と**タブ(通常は改行も含む)を意味します。正規表現を使用しない場合は、 '.strip'を使って改行をサニタイズする必要があります。 – Uriel

+0

@DSMが修正されました。 – Uriel

0

.split('') 2つのアポストロフィ間にスペースがないため、スペースを削除しません。あなたは分割するように言っている、まあ、何もない。

関連する問題