我有以下字符串:
string = """
Hello World
123
HelloWorld
"""
我想清除python中字符串中的所有换行符。
我试过了
string.strip()
但它没有按预期工作。
我应该做什么?
我使用的是python 3.3
谢谢。
我想指出,根据三引号字符串的使用方式,您可以完全避免这个问题。
在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
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