首页 > 代码库 > 《Python CookBook2》 第一章 文本 - 去字符串两端的空格 && 合并字符串 && 将字符串逐字符或者逐词反转
《Python CookBook2》 第一章 文本 - 去字符串两端的空格 && 合并字符串 && 将字符串逐字符或者逐词反转
去字符串两端的空格
任务:
获得一个开头和末尾都没有多余空格的字符串。
解决方案:
字符串对象的lstrip、rstrip和strip 方法正是为这种任务而设计的。这几个方法都不需要参数,它们会直接返回一个删除了开头、末尾或者两端的空格的原字符串的拷贝。
参考代码:
>>> test_string = ‘ test ‘>>> print ‘|‘,test_string.lstrip(),‘|‘,test_string.rstrip(),‘|‘,test_string.strip(),‘|‘| test | test | test |
小结:
这三个函数方法都可传入一个参数,指定要去除的首尾字符。
需要注意的是,传入的参数是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符,比如:
参数是"say",则去除首尾在[‘s‘,‘a‘,‘y‘]数组内的字符,直到字符在不数组内。
合并字符串
任务:
有一些小的字符串,把这些小字符串合并成一个大字符串。
解决方案:
可以使用字符串操作符join。
代码如下:
>>> a = ‘qwer‘>>> b = ‘+‘.join(a)>>> b‘q+w+e+r‘>>> c=‘‘.join(a)>>> c‘qwer‘>>> d = ‘ ‘.join(a)>>> d‘q w e r‘
如果想把存储在一些变量中的字符串拼接起来,那么使用字符串格式化操作符%
例如:largeString = ‘%s%s something %s yet more ‘ % (small1,small2,small3)
将字符串逐字符或者逐词反转
任务:
把字符串逐字符或者逐词反转过来。
解决方案:
字符串无法改变,所以,反转一个字符串需要创建一个拷贝。最简单的方法是使用一种“步长”为 -1 的Teva的切片方法 ,这样可立即产生一个完全反转的效果:
revchars = astring[::-1]
如果要按照单词来反转字符串,我们需要先创建一个单词的列表,将这个列表反转,最后再用join方法将其合并,并在相邻之间都插入一个空格:
示例代码:
>>> a = "I am a Pythoner">>> b = a.split()>>> b.reverse()>>> b = ‘‘.join(b)>>> b‘PythoneraamI‘>>> b = ‘ ‘.join(b)>>> b‘P y t h o n e r a a m I‘
<追赶进度,落后4节内容>
《Python CookBook2》 第一章 文本 - 去字符串两端的空格 && 合并字符串 && 将字符串逐字符或者逐词反转