我有以下字符串:删除 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