查漏补缺(三)——使用字符串

  模板字符串: 

string模块提供另一种格式化值的方法:模板字符串。它的工作方式类似于很多UNIXShell里的变量替换。

如下所示,substitute这个模块方法会用传递进来的关键字参数foo替换字符串中的$foo :

>>>from string import Template
>>>s=Template('$x,glorious $x!')
>>>s.substitute(x='slurm')
'slurm,glorious slurm!‘ 

如果替换字段是单词的一部分,那么参数名就必须用括号括起来,从而准备指明结尾:

可以使用$$插入美元符号:

>>>s=Template("It's ${x}tastic!")
>>>s.substitute(x='slurm')
"It's slurmtastic!"

 

除了关键字参数之外,还可以使用字典提供值/名称对:

>>>s=Template('A $thing must never $action.')
>>>d={}
>>>d['thing']='gentleman'
>>>d['action']='show his socks'
>>>s.substitute(d)
'A gentleman must never show his socks.'

3.4.1 find

        find方法可以在一个较长的字符串中查找子串。它返回子串所在位置的最左端索引。如果没有找到则返回-1。

3.4.2 join

        join方法是非常重要的字符串方法,它是split方法的逆方法,用来连接序列中的恶元素:

>>>seq=[1,2,3,4,5]
>>>sep='+'
>>>sep.join(seq) #连接数字列表
Traceback (most recent call last):
 File "<stdin>",line 1,in ?
TypeError: sequence item 0:expected string,int found
>>>seq=['1','2','3','4','5']
>>>sep,join(seq)#连接字符串列表
‘1+2+3+4+5>>>dirs='','usr','bin','env'
>>>'/'.join(dirs)
'/usr/bin/env'
>>>print 'C:'+'\\'.join(dirs)
C:\usr\bin\env

3.4.3 lower

>>>'that's all folks".title() #title方法
"That'S All.Folks"
>>>import string
>>>string.capwords("that's all. folks")
"That's All. Folks“

3.4.4 replace

3.4.5 split:是join的逆方法

3.4.6 strip:返回去除两侧(不包括内部)空格的字符串

3.4.7 translate:

         translate方法和replace方法一样,可以替换字符串中的某些部分,但和前者不同的是,

         translate方法只处理单个字符,它的优势在于可以同时进行多个替换,有些时候比replace效率高得多。

         在使用translate转换之前,需要先完成一张转换表。

        转换表是包含替换ASCII字符集中256个字符的替换字母的字符串。

posted on 2015-11-20 13:20  风靡oopp  阅读(213)  评论(0编辑  收藏  举报

导航