我有以下字符串:刪除 n的蟒蛇
string = """
Hello World
123
HelloWorld
"""
我想要清除在Python中字符串的所有換行符。
我試圖
string.strip()
但可根據需要它不工作。
我該怎麼辦?
我正在使用python 3.3
謝謝。
我有以下字符串:刪除 n的蟒蛇
string = """
Hello World
123
HelloWorld
"""
我想要清除在Python中字符串的所有換行符。
我試圖
string.strip()
但可根據需要它不工作。
我該怎麼辦?
我正在使用python 3.3
謝謝。
str.strip
從一開始就和字符串的結尾去掉空格。
>>> string
'\nHello World\n123\nHelloWorld\n'
>>> string.strip()
'Hello World\n123\nHelloWorld'
如果你想刪除新行字符字符串裏面的,你可以通過別的使用str.replace
替換它們:
>>> string.replace('\n', ' ')
' Hello World 123 HelloWorld '
簡單str.replace
:
string.replace('\n', ' ')
主要的問題已經回答了,但我會喜歡補充說,如果你計劃在使用個別行,你可能會做得更好 -
string = """
Hello World
123
HelloWorld
"""
for line in string.strip().split('\n'):
print(line)
# do something with the line
輸出從上面的代碼 -
Hello World
123
HelloWorld
使用translate
,而不是replace
對於這種操作。
>> string.translate(None, "\n")
Hello World123HelloWorld
你會意識到如何fast translate是當你與大文件的工作。
我想指出,取決於如何使用三引號字符串,你可以完全避免這個問題。
在Python三重引號字符串中,您可以在行的末尾放置反斜槓(「\
」)以忽略換行符。換句話說,您可以使用它在代碼中的該位置放置換行符,而不會在字符串中產生換行符。
例如:
"""line 1 \
line 2 \
line 3"""
實際上將成爲
line 1 line 2 line 3
如果打印或寫入到某些文件或其他輸出。
以這種方式使用它可以消除任何需要替換換行符的功能,使代碼更清晰。
編輯:
如果你使用反斜線線延續這樣,你也可以用簡單的單引號字符串以同樣的方式;
"line 1 \
line 2 \
line 3"
也相當於
line 1 line 2 line 3
爲什麼需要三重引號和反斜槓?爲什麼不只是反斜槓? –
@AllDaniSpringer你也可以做一個單引號的字符串,它會以同樣的方式工作;我只保留三重引號,因爲這就是問題所在。不過,我會做出修改來提及這一點。 – Variadicism
'與string.replace( '\ n', '')'不工作? – elssar