如果我有一个多行字符串,其中包含“ \ n”作为文本本身的一部分,例如:
python_text = """
@commands.command()
def multi():
print("Three\nLines\nHere")
"""
如何删除除文本本身之外的所有换行符?我尝试使用splitlines()
创建一个列表,但是多行字符串也将在文本本身的\n
上拆分。出于相同的原因,无法将splitlines(True)
与strip()
结合使用。
print(python_text.splitlines())
输出(格式化):
[
'@commands.command()',
'def multi():',
' print("Three',
'Lines',
'Here")'
]
我想要的输出是:
[
'@commands.command()',
'def multi():',
' print("Three\nLines\nHere")'
]
(或多行字符串打印而不是列表打印,但格式相同)
有什么办法只能从多行字符串中去除“尾随”换行符吗? 如果有任何不清楚的地方,请告诉我,我将尝试进一步解释。
编辑:更正了关于splitlines()
和strip()
的解释。
答案 0 :(得分:3)
您必须转义换行符。在这种情况下,您可以将其设为原始字符串文字:
python_text = r"""
@commands.command()
def multi():
print("Three\nLines\nHere")
"""
print(python_text.splitlines())
>>>['', '@commands.command()', 'def multi():', ' print("Three\\nLines\\nHere")']