是否有一个Python函数将从字符串中删除空白(空格和制表符)?
所以给定的输入" \t example string\t "变成了"example string"
是否有一个Python函数将从字符串中删除空白(空格和制表符)?
所以给定的输入" \t example string\t "变成了"example string"
当前回答
something = "\t please_ \t remove_ all_ \n\n\n\nwhitespaces\n\t "
something = "".join(something.split())
输出:
please_remove_all_whitespaces
将Le Droid的评论添加到答案中。 用空格隔开:
something = "\t please \t remove all extra \n\n\n\nwhitespaces\n\t "
something = " ".join(something.split())
输出:
请删除所有额外的空格
其他回答
如果使用Python 3:在打印语句中,以sep=""结束。这样就把所有的空格分开了。
例子:
txt="potatoes"
print("I love ",txt,"",sep="")
这将打印: 我喜欢土豆。
而不是: 我喜欢土豆。
在您的情况下,由于您将试图获得\t,执行sep="\t"
something = "\t please_ \t remove_ all_ \n\n\n\nwhitespaces\n\t "
something = "".join(something.split())
输出:
please_remove_all_whitespaces
将Le Droid的评论添加到答案中。 用空格隔开:
something = "\t please \t remove all extra \n\n\n\nwhitespaces\n\t "
something = " ".join(something.split())
输出:
请删除所有额外的空格
前导空格和尾随空格:
s = ' foo \t '
print s.strip() # prints "foo"
否则,正则表达式工作:
import re
pat = re.compile(r'\s+')
s = ' \t foo \t bar \t '
print pat.sub('', s) # prints "foobar"
(re.sub(' +', ' ',(my_str。取代(' \ n ',' ')))). 带()
这将删除所有不需要的空格和换行符。希望这对你有所帮助
import re
my_str = ' a b \n c '
formatted_str = (re.sub(' +', ' ',(my_str.replace('\n',' ')))).strip()
这将导致:
'a b \n c'将被更改为'a bc '
你也可以使用非常简单的基本函数:str.replace(),用于空格和制表符:
>>> whitespaces = " abcd ef gh ijkl "
>>> tabs = " abcde fgh ijkl"
>>> print whitespaces.replace(" ", "")
abcdefghijkl
>>> print tabs.replace(" ", "")
abcdefghijkl
简单易行。