猿问

从多行字符串中去除“\n”,内联时除外

如果我有一个包含 "\n" 作为文本本身一部分的多行字符串,例如:


python_text = """

@commands.command()

def multi():

    print("Three\nLines\nHere")

"""

如何删除除文本本身中的换行符之外的所有换行符?我试过创建一个列表,splitlines()但多行字符串也将\n在文本本身的's上拆分。使用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()。


BIG阳
浏览 134回答 1
1回答

catspeake

你必须逃避你的换行符。在这种情况下,您可以将其设为原始字符串文字:python_text = r"""@commands.command()def multi():    print("Three\nLines\nHere")"""print(python_text.splitlines())>>>['', '@commands.command()', 'def multi():', '    print("Three\\nLines\\nHere")']
随时随地看视频慕课网APP

相关分类

Python
我要回答