为啥我的空格没有被消除? [复制]

Posted

技术标签:

【中文标题】为啥我的空格没有被消除? [复制]【英文标题】:Why isn't my whitespace being eliminated? [duplicate]为什么我的空格没有被消除? [复制] 【发布时间】:2019-10-06 08:03:09 【问题描述】:

为什么在这个例子中最初的空白没有被删除?

s = ' Spain'
s = s.replace('\s*', '')
In[1]:s
Out[1]: ' Spain'

我在使用 pandas .str.replace 从系列中删除空格时注意到了这一点,因此我尝试了这个简单的示例,但不明白为什么这不起作用。

【问题讨论】:

replace() 接受字符串,而不是正则表达式。见***.com/questions/16720541/… 为什么不使用“strip”功能(或rstrip或lstrip)?这要简单得多。 @Paul Cornelius 因为在我的情况下,我的字符串中有多个空格,而不仅仅是在左右两端 是的,这是不使用 strip 的一个很好的理由。 【参考方案1】:
>>> s = ' Spain'
>>>
>>> # Regex
>>> re.sub('\s*', '', s)
'Spain'
>>>
>>> # str.lstrip
>>> s.lstrip()
'Spain'
>>>

【讨论】:

【参考方案2】: 如果您只需要删除空格,请使用
s = s.replace(' ', '')

注意:replace 不适用于正则表达式。

如果您只需要从开头和结尾删除空白字符,请使用
s = s.strip()
如果您需要消除所有空白字符(空格、制表符、换行符),您可以使用
s = ''.join(s.split())

【讨论】:

以上是关于为啥我的空格没有被消除? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Python 在打印 int then string 后添加空格? [复制]

为啥复制系列图片总显示没有足够的可用空间

在latex中,如何让一大段空格消除

为啥我的 if 函数没有从字符串中删除空格?它不能检测 C++ 中的空格输入吗?有没有办法从输入中删除空间

怎样消除参考文献中的方括号和内容之间的空格?

为啥变量赋值中的空格会在 Bash 中出错? [复制]