文字列からすべての改行文字を削除しようとしています。私はそれを行う方法を読んでいますが、何らかの理由でそうすることができないようです。ここに私がやっていることを段階的に示します:
string1 = "Hello \n World"
string2 = string1.strip('\n')
print string2
そして、出力にはまだ改行文字が表示されています。私もrstripで試しましたが、まだ改行が表示されています。なぜ私がこれを間違っているのか、誰かが光を当てることができますか?ありがとう。
strip
は、文字列の先頭と末尾からのみ文字を削除します。 replace
を使用します:
str2 = str.replace("\n", "")
@johnが述べたように、最も堅牢な答えは次のとおりです。
string = "a\nb\rv"
new_string = " ".join(string.splitlines())
または、これを試すことができます:
string1 = 'Hello \n World'
tmp = string1.split()
string2 = ' '.join(tmp)
ファイルからテキストを読むときに最近同じ質問があったので、遅く答えました。次のようないくつかのオプションを試しました:
with open('verdict.txt') as f:
以下の最初のオプションは、alist
と呼ばれるリストを作成し、'\n'
を削除し、フルテキストに戻します(テキストを1つだけにする場合はオプション)。
alist = f.read().splitlines()
jalist = " ".join(alist)
次の2番目のオプションははるかに簡単でシンプルで、atext
というテキスト文字列を生成し、'\n'
スペースあり;
atext = f.read().replace('\n',' ')
できます;やったこれはクリーンで、簡単で、効率的です。
ファイルのテキストの途中に改行が含まれている場合、strip()
もrstrip()
も問題を解決しません。
ストリップファミリーは、文字列の始まりと終わりからトリミングするために使用されます
replace()
は問題を解決する方法です
>>> my_name = "Landon\nWO"
>>> print my_name
Landon
WO
>>> my_name = my_name.replace('\n','')
>>> print my_name
LandonWO