删除 python 中多行字符串中行之间的“\n”

Removing "\n" between the line in multiline string in python

我想从 python 中的文本中删除“\n”。我尝试了很多方法,但都没有用。文本应该是这样的:

string='''# Initializing Function named main()
def main () :
    str1 = None
    str2 = None
    age=16
    str1=str(input())
    str2=str(input())
    print("Entered Name: {}\n".format(str1))
    print("Entered Website:{}".format(str2))
# Calling the main Function
main()'''

"print("Entered Name: {}\n".format(str1))" 有 \n 我需要删除而不删除其他 \n来自多行字符串。谢谢!

将多行字符串声明为原始字符串,这样 \n 就不会被转义,然后替换它(使用另一个原始字符串,这样它就不会再次被转义):

# r before the ''' makes it a raw string
string=r'''# Initializing Function named main()
def main () :
    str1 = None
    str2 = None
    age=16
    str1=str(input())
    str2=str(input())
    print("Entered Name: {}\n".format(str1))
    print("Entered Website:{}".format(str2))
# Calling the main Function
main()'''
string = string.replace(r'\n', '')

问题是 \n''' 字符串解释,但您希望它留在原地并由内部 " 字符串处理。

最简单的解决方案是在外部使用 r 字符串;注意第一行的r'''

string=r'''# Initializing Function named main()
def main () :
    str1 = None
    str2 = None
    age=16
    str1=str(input())
    str2=str(input())
    print("Entered Name: {}\n".format(str1))
    print("Entered Website:{}".format(str2))
# Calling the main Function
main()'''

进行此更改后,内部 \n 应该可以正常工作,您可能不再需要将其删除。

i = string.find('{}\n') #is the position of the '{}\n'
string = string[:i+2] + string[i+5 :] #should do the trick