【发布时间】:2011-04-27 03:45:08
【问题描述】:
如何从字符串中删除所有空格并使python中的所有字符小写?
另外,我可以像在 javascript 中那样将此操作添加到字符串原型吗?
【问题讨论】:
如何从字符串中删除所有空格并使python中的所有字符小写?
另外,我可以像在 javascript 中那样将此操作添加到字符串原型吗?
【问题讨论】:
简单的快速答案怎么样?没有map,没有for 循环,...
>>> s = "Foo Bar " * 5
>>> s
'Foo Bar Foo Bar Foo Bar Foo Bar Foo Bar '
>>> ''.join(s.split()).lower()
'foobarfoobarfoobarfoobarfoobar'
>>>
[Python 2.7.1]
>python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join(c.lower() for c in s if not c.isspace())"
100000 loops, best of 3: 11.7 usec per loop
>python27\python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join( i.lower() for i in s.split() )"
100000 loops, best of 3: 3.11 usec per loop
>python27\python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join( map(str.lower, s.split() ) )"
100000 loops, best of 3: 2.43 usec per loop
>\python27\python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join(s.split()).lower()"
1000000 loops, best of 3: 1 usec per loop
【讨论】:
这里是:
your_string.replace(" ","").lower()
【讨论】:
''.join(c.lower() for c in s if not c.isspace())
没有。 Python 不是 Ruby。
【讨论】:
这是一个使用正则表达式的解决方案:
>>> import re
>>> test = """AB cd KLM
RST l
K"""
>>> re.sub('\s+','',test).lower()
'abcdklmrstlk'
【讨论】:
>>> string=""" a b c
... D E F
... g
... """
>>> ''.join( i.lower() for i in string.split() )
'abcdefg'
>>>
或
>>> ''.join( map(str.lower, string.split() ) )
'abcdefg'
【讨论】: