3

"\n\n"空の行区切り記号 を使用してテキスト ファイルを分割するのに問題があります。

re.split("\n", aString) 

動作しますが

re.split("\n\n", aString) 

文字列全体を返すだけです。

何か案は?

4

1 に答える 1

6

異なるオペレーティング システムの行末規則に注意してください。

  • Windows: CRLF ( \r\n)
  • Linux およびその他の Unice: LF ( \n)
  • 古い Mac: CR ( \r)

探している二重改行が Windows でエンコードされたテキスト ファイルにあり、\r\n\r\nではなくとして表示されるため、おそらく失敗してい\n\nます。

このrepr()関数は、行末が何であるかを確実に教えてくれます。

>>> mystring = #[[a line of your file]]
>>> repr(mystring)
"'\\nmulti\\nline\\nstring '"

そもそもファイルを 1 行ずつ読みたくないだけですか?

with open(file.txt, 'r') as f:
    for line in f:
        print (line)
于 2012-04-28T22:29:16.680 に答える