python - 如何从字符串中删除所有空格

标签 python python-3.x spaces strip

如何去除 python 字符串中的所有空格?例如,我希望将 strip my spaces 之类的字符串转换为 stripmyspaces,但我似乎无法使用 strip() 来实现:

>>> 'strip my spaces'.strip()
'strip my spaces'

最佳答案

在没有 sep 参数的情况下利用 str.split 的行为:

>>> s = " \t foo \n bar "
>>> "".join(s.split())
'foobar'

如果您只想删除空格而不是所有空格:

>>> s.replace(" ", "")
'\tfoo\nbar'

过早的优化

尽管效率不是主要目标——编写清晰的代码才是——这里有一些初始时间安排:

$ python -m timeit '"".join(" \t foo \n bar ".split())'
1000000 loops, best of 3: 1.38 usec per loop
$ python -m timeit -s 'import re' 're.sub(r"\s+", "", " \t foo \n bar ")'
100000 loops, best of 3: 15.6 usec per loop

请注意,正则表达式已缓存,因此它没有您想象的那么慢。事先编译它会有所帮助,但只有在您调用它很多次时才会在实践中发挥作用:

$ python -m timeit -s 'import re; e = re.compile(r"\s+")' 'e.sub("", " \t foo \n bar ")'
100000 loops, best of 3: 7.76 usec per loop

尽管 re.sub 慢了 11.3 倍,但请记住,您的瓶颈肯定在其他地方。大多数程序不会注意到这 3 个选项之间的区别。

关于python - 如何从字符串中删除所有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739909/

相关文章:

c++ - system() C++ 中的空格

java - JEdi​​torPane - 制作制表符空间

python - 如何从不正确的输入向 Django 输入弹出窗口添加 CSS 样式

python - 4个列表变成一个元组列表

Atom 编辑器中的 Python 模块导入错误

python-3.x - yolov5 中的非标准化标签

python-3.x - 如何将列表中的元素作为索引传递给Python中的列表?

python-3.x - tensorflow 没有为任何变量错误提供梯度

python - Hive UDF with Python - 在 shell 上打印异常

java:使用 BufferedReader 获取输入 - 多个空格