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.split
和str.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 - 摆脱字符串中的空格的主要内容,如果未能解决你的问题,请参考以下文章