去除空格/制表符/换行符 – python
我试图删除Linux上的Python 2.7中的所有空格/制表符/换行符。
我写这个,应该做这个工作:
myString="I want to Remove all white \t spaces, new lines \n and tabs \t" myString = myString.strip(' \n\t') print myString
输出:
I want to Remove all white spaces, new lines and tabs
这似乎是一个简单的事情,但我在这里失踪的东西。 我应该导入一些东西吗?
使用str.split([sep[, maxsplit]])
没有sep
或sep=None
:
从文档 :
如果没有指定
sep
或为None
,则应用不同的分割algorithm:将连续空白的运行视为单个分隔符,并且如果string具有前导空格或尾随空格,则结果将在开始或结束处不包含空string。
演示:
>>> myString.split() ['I', 'want', 'to', 'Remove', 'all', 'white', 'spaces,', 'new', 'lines', 'and', 'tabs']
在返回的列表上使用str.join
来获得这个输出:
>>> ' '.join(myString.split()) 'I want to Remove all white spaces, new lines and tabs'
如果你想删除多个空格项并用单个空格replace它们,最简单的方法是使用这样的正则expression式:
>>> import re >>> myString="I want to Remove all white \t spaces, new lines \n and tabs \t" >>> re.sub('\s+',' ',myString) 'I want to Remove all white spaces, new lines and tabs '
如果需要,可以使用.strip()
删除尾部空格。
import re mystr = "I want to Remove all white \t spaces, new lines \n and tabs \t" print re.sub(r"\W", "", mystr) Output : IwanttoRemoveallwhitespacesnewlinesandtabs
看看这个相关问题的答案: 如何修剪空白(包括制表符)?
strip()仅删除前导字符和尾随字符,而不是所有字符。