Python Cookbook学习记录 ch1_7_2013/10/22

1.7将字符串逐字符或者逐词反转

a.逐字符反转可以直接用分片来操作,这是比较常用的方法

>>> Text = "Hello World"
>>> print Text[::-1]
dlroW olleH

b.逐词反转则需要做如下几步:

1.使用split方法将字符串以单词为单位分割开
2.将单词逆序排列

3.将单词拼接起来,单词之间加入一个空格

>>> Text = "Hello World, I am coming!"
>>> worldlist = Text.split()
>>> worldlist.reverse()
>>> print ' '.join(worldlist)
coming! am I World, Hello

但是这种方法有一个问题,就是加入词与词之间如果存在多个空格,会导致反转后空格数量变化
这时可以使用正则表达式的split方法来切割字符串,注意,这时候空格是会保留下来的。

>>> import re
>>> Text = "Hello World, I    am coming!"
>>> worldlist = re.split(r'(\s+)',Text)
>>> print worldlist #注意,空格被保留下来了!
['Hello', ' ', 'World,', ' ', 'I', ' ', 'am', ' ', 'coming!'] >>> worldlist.reverse() >>> print ''.join(worldlist) coming! am I World, Hello

正则表达式还需要继续学习,我还是不太会用,以后会专门写一篇进行系统的学习。

posted on 2013-10-22 23:05  七海之风  阅读(181)  评论(0)    收藏  举报

导航