如何摆脱多个空白和帐户换行

时间:2016-09-04 02:08:42

标签: python whitespace removing-whitespace

假设我输入了"Hello my name is \\n Bill"

my_str = ' '.join(my_str.split())

因此,当我将它们全部打印在一行上时,这将加入这些字母并给我"Hello my name is\nBill"。我想要它打印的是:

Hello my name is
Bill

到终端。

1 个答案:

答案 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在评论中提到的,如果你创建的字符串不要反斜杠,如果数据来自其他来源,请使用上述方法之一。