从python中的三重引号字符串中删除\n

4ngedf3f  于 4个月前  发布在  Python
关注(0)|答案(5)|浏览(79)

我有以下字符串:

string = """
Hello World
123
HelloWorld
"""

字符串
我想在python中清除字符串中的所有换行符。
我试

string.strip()


但效果并不理想。
我该怎么办?
我使用的是python 3.3
谢谢.

ttp71kqs

ttp71kqs1#

我想指出的是,根据如何使用三重引号字符串,您可以完全避免这个问题。
在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

mzaanser

mzaanser2#

str.strip删除字符串开头和结尾的空白。

>>> string
'\nHello World\n123\nHelloWorld\n'
>>> string.strip()
'Hello World\n123\nHelloWorld'

字符串
如果你想删除字符串中 inside 的新行字符,你可以使用str.replace将它们替换为其他字符:

>>> string.replace('\n', ' ')
' Hello World 123 HelloWorld '

3okqufwl

3okqufwl3#

使用translate而不是replace进行此类操作。

>> string.translate(None, "\n")
Hello World123HelloWorld

字符串
当你处理大文件时,你会意识到fast translate是如何工作的。

f5emj3cl

f5emj3cl4#

简单str.replace

string.replace('\n', ' ')

字符串

enxuqcxy

enxuqcxy5#

主要的问题已经回答了,但我想补充一点,如果你打算使用个别行,你可能会更好地这样做-

string = """
Hello World
123
HelloWorld
"""
for line in string.strip().split('\n'):
    print(line)
    # do something with the line

字符串

输出来自上述代码-

Hello World
123
HelloWorld

相关问题