《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节内容>

原文地址:https://www.cnblogs.com/wuzhiming/p/3926438.html