我有以下字符串:
string = """
Hello World
123
HelloWorld
"""
我想从 python 中的字符串中清除所有换行符。
我试过了
string.strip()
但它没有按预期工作。
我该做什么?
我正在使用 python 3.3
谢谢。
我有以下字符串:
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 '
使用translate
而不是replace
这种操作。
>> string.translate(None, "\n")
Hello World123HelloWorld
当您处理大文件时,您会意识到翻译的速度有多快。
主要问题已经得到解答,但我想补充一点,如果您打算使用单独的线路,您最好这样做 -
string = """
Hello World
123
HelloWorld
"""
for line in string.strip().split('\n'):
print(line)
# do something with the line
上述代码的输出-
Hello World
123
HelloWorld
简单str.replace
:
string.replace('\n', ' ')