Python - 摆脱字符串中的空格

Posted

技术标签:

【中文标题】Python - 摆脱字符串中的空格【英文标题】:Python - Getting Rid of Spaces in String [duplicate] 【发布时间】:2014-03-24 08:31:16 【问题描述】:

我正在检索表单中的大量数据

6800       MAIN ST

如何格式化使其看起来正常(数字和街道名称之间有一个空格),例如:

6800 MAIN ST

【问题讨论】:

' '.join(mystr.split())? 在问一个简单的问题之前请尝试搜索。有人问过这个somanytimes。 【参考方案1】:

使用str.splitstr.join

In [733]: s='6800       MAIN ST'

In [734]: ' '.join(s.split())
Out[734]: '6800 MAIN ST'

您也可以像@NPE 提到的那样使用re,尽管即使您编译了正则表达式模式,它也不是很快。基准:

In [746]: s='asdf             fasd zzzzzz          ddddddd      z'

In [747]: timeit ' '.join(s.split())
1000000 loops, best of 3: 545 ns per loop

In [748]: ptn=re.compile(r"\s+")

In [749]: timeit re.sub(ptn, ' ', s)
100000 loops, best of 3: 4.08 us per loop

【讨论】:

我会说这与使用正则表达式之间存在联系,只是在空间而不是数组上调用 join() 看起来很有趣。 主观上来说,join感觉就像是对一系列事物进行操作,不管是否有其他事物加入。 @mgamba 这意味着用空格连接迭代中的元素。你会习惯的 ;)【参考方案2】:

一种方法是使用正则表达式:

In [8]: s = "6800       MAIN ST"

In [9]: re.sub(r"\s+", " ", s)
Out[9]: '6800 MAIN ST'

【讨论】:

以上是关于Python - 摆脱字符串中的空格的主要内容,如果未能解决你的问题,请参考以下文章

Python 。如何摆脱字符串中的'\ r'?

如何摆脱python windows文件路径字符串中的双反斜杠? [复制]

python 去除字符串中的空格

如何在Python中去除字符串中的空格

python中如何去掉字符串的空格

python中如何去掉字符串的空格