当前位置: 首页 > 面试题库 >

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

柳奇思
2023-03-14
问题内容

如何删除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倍,但请记住,瓶颈肯定在其他地方。大多数程序不会注意到这三个选择之间的区别。



 类似资料:
  • 问题内容: 在Go中从某个任意字符串中剥离所有空格的最快方法是什么。 我从字符串包中链接了两个函数: 有人有更好的方法吗? 问题答案: 以下是一些用于从字符串中剥离所有空格字符的不同方法的基准:(源数据): :用途; 随着遇到更多的非空白字符,逐渐增加分配的空间量 :和; 产生大量中间数据 用途; 执行一次分配,但是如果源字符串主要是空格,则可能会总体上分配。 package main_test

  • 问题内容: 我在textarea中有一个文本,我使用.value属性将其读出。 现在,我想使用正则表达式.replace从我的文本中删除所有换行符(按时产生的字符),但是如何在正则表达式中指示换行符? 如果那不可能,还有另一种方法吗? 问题答案: 这可能是一个常见问题解答。无论如何,换行符(更好的是:换行符)可以是回车符(在较旧的Mac上为CR,),换行符(在Unices 包括Linux上为LF,

  • 我在textarea中有一个文本,我使用.value属性读出它。 现在我想从我的文本中删除所有的换行符(按Enter时产生的字符),现在使用.替换为正则表达式,但如何在正则表达式中指示换行符? 如果不可能的话,是否还有其他方法?

  • 问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?

  • 问题内容: 我需要从字符串中删除所有特殊字符,标点符号和空格,以便只有字母和数字。 问题答案: 这可以不用正则表达式来完成: 您可以使用: 如果您坚持使用正则表达式,则其他解决方案也可以。但是请注意,如果可以在不使用正则表达式的情况下完成此操作,那么这是最好的解决方法。

  • 问题内容: 我面临网址问题,我希望能够转换标题,该标题可以包含任何内容,并去除所有特殊字符,因此它们仅包含字母和数字,当然我想用连字符替换空格。 怎么做?我听说过很多关于正则表达式(regex)的使用… 问题答案: 这应该可以满足您的需求: 用法: 将输出: 编辑: 嘿,只是一个简单的问题,如何防止多个连字符彼此相邻?并将它们替换为1?