web-dev-qa-db-ja.com

文字列内からすべての改行を削除します

文字列からすべての改行文字を削除しようとしています。私はそれを行う方法を読んでいますが、何らかの理由でそうすることができないようです。ここに私がやっていることを段階的に示します:

string1 = "Hello \n World"
string2 = string1.strip('\n')
print string2

そして、出力にはまだ改行文字が表示されています。私もrstripで試しましたが、まだ改行が表示されています。なぜ私がこれを間違っているのか、誰かが光を当てることができますか?ありがとう。

32
LandonWO

stripは、文字列の先頭と末尾からのみ文字を削除します。 replaceを使用します:

str2 = str.replace("\n", "")
52
mipadi

@johnが述べたように、最も堅牢な答えは次のとおりです。

string = "a\nb\rv"
new_string = " ".join(string.splitlines())
5
Chris Sewell

strip()は、先頭および末尾の空白を削除した後に文字列を返します。 doc を参照してください

あなたの場合、 replace()

string2 = string1.replace('\n', '')
3
sradack

または、これを試すことができます:

string1 = 'Hello \n World'
tmp = string1.split()
string2 = ' '.join(tmp)
2
jkalivas

ファイルからテキストを読むときに最近同じ質問があったので、遅く答えました。次のようないくつかのオプションを試しました:

with open('verdict.txt') as f: 

以下の最初のオプションは、alistと呼ばれるリストを作成し、'\n'を削除し、フルテキストに戻します(テキストを1つだけにする場合はオプション)。

alist = f.read().splitlines()
jalist = " ".join(alist)

次の2番目のオプションははるかに簡単でシンプルで、atextというテキスト文字列を生成し、'\n'スペースあり;

atext = f.read().replace('\n',' ')

できます;やったこれはクリーンで、簡単で、効率的です。

2
john

strip() は、先頭および末尾の空白(デフォルト)が削除された文字列を返します。

したがって、" Hello World "から"Hello World"、ただし、文字列の間にある\ n文字は削除されません。

replace() を試してください。

str = "Hello \n World"
str2 = str.replace('\n', '')
print str2
0
Braden Jageman

ファイルのテキストの途中に改行が含まれている場合、strip()rstrip()も問題を解決しません。

ストリップファミリーは、文字列の始まりと終わりからトリミングするために使用されます

replace()は問題を解決する方法です

>>> my_name = "Landon\nWO"
>>> print my_name
   Landon
   WO

>>> my_name = my_name.replace('\n','')
>>> print my_name
LandonWO
0
ibmstafa