61

文字列からすべての改行文字を削除しようとしています。やり方を読んだのですが、どういうわけかできないようです。これが私がしていることのステップバイステップです:

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

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

4

8 に答える 8

95

strip文字列の最初と最後からのみ文字を削除します。あなたが使いたいreplace

str2 = str.replace("\n", "")
re.sub('\s{2,}', ' ', str) # To remove more than one space 
于 2012-11-08T22:25:10.510 に答える
27

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

string = "a\nb\rv"
new_string = " ".join(string.splitlines())
于 2018-08-30T01:45:52.417 に答える
5

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

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

alist以下の最初のオプションは、ストリップされた、というリストを生成し'\n'、その後、フルテキストに結合し直します(テキストを1つだけにしたい場合はオプション)。

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

以下の2番目のオプションは、はるかに簡単で単純で、スペースatext置換と呼ばれるテキストの文字列を生成します。'\n'

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

できます; 私はそれをしました。これは、クリーンで、簡単で、効率的です。

于 2016-04-06T22:41:22.003 に答える
3

strip()先頭と末尾の空白を削除した後、文字列を返します。ドキュメントを参照してください

あなたの場合、replace()を試してみてください:

string2 = string1.replace('\n', '')
于 2012-11-08T22:28:10.533 に答える
2

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

string1 = 'Hello \n World'
tmp = string1.split()
string2 = ' '.join(tmp)
于 2012-11-08T23:20:37.140 に答える
1

これは多くの場合に機能するはずです-

text = ' '.join([line.strip() for line in text.strip().splitlines() if line.strip()])
text = re.sub('[\r\n]+', ' ', text)
于 2021-03-17T08:26:02.667 に答える
-1

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

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

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

str = "Hello \n World"
str2 = str.replace('\n', '')
print str2
于 2012-11-08T22:32:19.780 に答える
-1

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

ストリップファミリは、文字列の最初と最後からトリミングするために使用されます

replace()あなたの問題を解決する方法です

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

>>> my_name = my_name.replace('\n','')
>>> print my_name
LandonWO
于 2016-02-05T12:38:20.260 に答える