假设我输入了"Hello my name is \\n Bill"
my_str = ' '.join(my_str.split())
因此,当我将它们全部打印在一行上时,这将加入这些字母并给我"Hello my name is\nBill"
。我想要它打印的是:
Hello my name is
Bill
到终端。
答案 0 :(得分:2)
你的问题是你没有换行符,你有两个反斜杠和一个n
,即反斜杠被转义,所以在拆分后你需要做一个替换:
In [10]: s = "Hello my name is \\n Bill"
In [11]: print(" ".join(s.split()))
Hello my name is \n Bill
In [12]: print(" ".join(s.split()).replace("\\n","\n"))
Hello my name is
Bill
或使用 .decode(" string_escape"):
In [15]: s = "Hello my name is \\n Bill"
In [16]: print" ".join(s.split())
Hello my name is \n Bill
In [17]: print(" ".join(s.split()).decode("string_escape"))
Hello my name is
Bill
正如Kirby在评论中提到的,如果你创建的字符串不要反斜杠,如果数据来自其他来源,请使用上述方法之一。