为啥我的空格没有被消除? [复制]
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 后添加空格? [复制]