首页 > 代码库 > 《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)>>> bq+w+e+r>>> c=‘‘.join(a)>>> cqwer>>> d =  .join(a)>>> dq 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)>>> bPythoneraamI>>> b =  .join(b)>>> bP y t h o n e r a a m I

 

<追赶进度,落后4节内容>

《Python CookBook2》 第一章 文本 - 去字符串两端的空格 && 合并字符串 && 将字符串逐字符或者逐词反转