假设我的字符串是:
' Hai Hello\nGood eve\n'
我该如何消除两个字符串之间的 '\n'
并使输出的字符串像这样:
Hai Hello Good eve
假设我的字符串是:
' Hai Hello\nGood eve\n'
我该如何消除两个字符串之间的 '\n'
并使输出的字符串像这样:
Hai Hello Good eve
import sys
sys.stdout.write("text")
replace
方法:>>> a = "1\n2"
>>> print a
1
2
>>> a = a.replace("\n", " ")
>>> print a
1 2
在Python 2.6中:
print "Hello.",
print "This is on the same line"
在Python 3.0中
print("Hello", end = " ")
print("This is on the same line")
mystring.replace("\\\n", "\n")
,就可以得到所需的输出。希望这很清晰,并帮助未来的某些人。"\\n"
而不是 "\\\n"
。 - dijonkitchenprint "Hai Hello",
print "Good eve",
虽然在Python 3.0中已经取消了"print"命令
虽然这篇文章有点老,但似乎没有人成功回答了你的问题。有两种可能的答案:
首先,你的字符串实际上是 Hai Hello\\\\nGood eve\\\\n
,因为转义字符\\\\
而打印成了Hai Hello\\nGood eve\\n
。简单的解决方法是 mystring.replace("\\\\n","\\n")
(参见http://docs.python.org/reference/lexical_analysis.html#string-literals)。
或者,你的字符串不是一个字符串,而是一个元组。我之前也遇到了类似的错误,当时我以为自己有一个字符串,但从打印结果来看它是一个很长的字符串。我的打印结果如下:
("Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nEtiam orci felis, pulvinar id vehicula nec, iaculis eget quam.\nNam sapien eros, hendrerit et ullamcorper nec, mattis at ipsum.\nNulla nisi ante, aliquet nec fermentum non, faucibus vel odio.\nPraesent ac odio vel metus condimentum tincidunt sed vitae magna.\nInteger nulla odio, sagittis id porta commodo, hendrerit vestibulum risus.\n...,"")
很容易忽略开头和结尾的括号,只注意到了 \n。打印 mystring[0]
应该可以解决这个问题(或者是列表/元组中的任何索引)。
>>> 'Hai Hello\nGood eve\n'.replace('\n', ' ')
'Hai Hello Good eve '
不确定这是否是您要求的,但您可以使用三引号字符串:
print """Hey man
And here's a new line
you can put multiple lines inside this kind of string
without using \\n"""
将打印:
嘿,伙计 这里是一个新行
你可以在这种字符串内放置多行 而不使用 \n