class Template(__builtin__.object)
一个支持字符替换的类,模块定义如下:
__init__(self, template)
# template是用来替换的模板,使用"$"或者"${}"来标识需要替换的字符
safe_substitute(*args, **kws)
# 用来替换的函数,在缺少key的情况下,会把字符串原封不动的显示出来
substitute(*args, **kws)
#用来替换的函数,在缺少key的情况下,会报一个KeyError的异常
用法示例:
>>> from string import Template
>>> s = Template( template = 'Good $hao study, day $tian up')
>>> dict = {'hao':'good','tian':'day'}
>>> s.substitute(dict)
#可以使用字典形式作为转换,字典中的键为字符串
'Good good study, day day up'
>>> s.safe_substitute(hao = 'good')
#也可以使用直接赋值的方法,赋值时需要加变量名;safe_substitute方法可以缺少key
'Good good study, day $tian up'
>>> s.substitute(hao = 'good')
#substitute方法不能缺少key,否则会报错
Traceback (most recent call last):
File "
", line 1, in
File "C:\Python27\lib\string.py", line 176, in substitute
return self.pattern.sub(convert, self.template)
File "C:\Python27\lib\string.py", line 166, in convert
val = mapping[named]
KeyError: 'tian'
atof(s)
atof(s) -> float
将一个字符串形式的数转化为浮点数格式
atoi(s, base=10)
atoi(s [,base]) -> int
将一个字符串形式的N进制整数转化为int形式的十进制数,N默认为10。如果base是0,则N为八进制。
atol(s, base=10)
atol(s [,base]) -> long
将一个字符串形式的N进制整数转化为long形式的十进制数,N默认为10。如果base是0,则N为八进制。
另外,字符串转数字可以用int()、float(),数字转字符串可以用str()
capitalize(s)
capitalize(s) -> string
将字符串的第一个字母大写,并返回
capwords(s, sep=None)
capwords(s [,sep]) -> string
根据sep来分割和重组字符串,并把每个字符串的第一个字母大写。如果sep为空或者None,则分隔符为空格,且多个空格会被一个空格代替,字符串开头和结尾的空格将会被移除
举例:
>>> str= 'sdfldsgj sdd scc sgg'
>>> str= 'sdfldsgj sdd scc s gg '
>>> capwords(str)
'Sdfldsgj Sdd Scc S Gg'
>>> capwords(str, 's')
'sDfldsGj sDd sCc s gg '
center(s, width, *args)
center(s, width[, fillchar]) -> string
将字符串按照特定的宽度width居中,非字符部分用fillchar填充,默认为空格。在字符串长度大于width时,不会截断字符串
count(s, *args)
count(s, sub[, start[,end]]) -> int
返回字符串中sub在start到end间出现过的次数
expandtabs(s, tabsize=8)
expandtabs(s [,tabsize]) -> string
将字符串中的tab键用N个空格代替,默认为8个
find(s, *args)
find(s, sub [,start [,end]]) -> in
寻找字符串从start到end间,sub是否出现过。出现过则返回出现的位置,否则返回-1
index(s, *args)
index(s, sub [,start [,end]]) -> int
寻找字符串从start到end间,sub是否出现过。出现过则返回出现的位置,否则报错
join(words, sep=' ')
join(list [,sep]) -> string
将一个列表中的元素使用sep连接起来,sep默认为空格
举例:
>>> li = ('1','2','2')
>>> join(li)
'1 2 2'
joinfields = join(words, sep=' ')
joinfields(list [,sep]) -> string
和join的用法完全相同
ljust(s, width, *args)
ljust(s, width[, fillchar]) -> string
将字符串按照特定的宽度width居左,非字符部分用fillchar填充,默认为空格。在字符串长度大于width时,不会截断字符串
lower(s)
lower(s) -> string
将字符串中的所有字母转换为小写字母,并返回
lstrip(s, chars=None)
lstrip(s [,chars]) -> string
去除字符串左边所有的char,char默认为空格
maketrans(...)
maketrans(frm, to) -> string
用于生成一个从frm到to的映射关系表,用于字符串的译码。需要和translate()配合使用。
举例:
>>> num = '12345'
>>> key = 'aeiou'
>>> trantab = maketrans(num, key)
>>> trantab
'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0aeiou6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'
>>> str = '1236745wgfab'
>>> translate(str, trantab)
'aei67ouwgfab'
>>> translate(str, trantab,'6w')
'aei7ougfab'
replace(s, old, new, maxreplace=-1)
replace (str, old, new[, maxreplace]) -> string
将字符串s中的序列old替换为序列new,替换次数为maxreplace,默认全部替换
rfind(s, *args)
rfind(s, sub [,start [,end]]) -> int
寻找字符串从start到end间,sub是否出现过。出现过则返回出现的位置,否则返回-1
rindex(s, *args)
rindex(s, sub [,start [,end]]) -> int
寻找字符串从start到end间,sub是否出现过。出现过则返回出现的位置,否则报错
rjust(s, width, *args)
rjust(s, width[, fillchar]) -> string
将字符串按照特定的宽度width居右,非字符部分用fillchar填充,默认为空格。在字符串长度大于width时,不会截断字符串
rsplit(s, sep=None, maxsplit=-1)
rsplit(s [,sep [,maxsplit]]) -> list of strings
使用sep为分隔符,从右边开始分割字符串,最大分割次数为maxslit。默认分割符为空格,全部分割。
rstrip(s, chars=None)
rstrip(s [,chars]) -> string
去除字符串右边所有的char,char默认为空格
split(s, sep=None, maxsplit=-1)
split(s [,sep [,maxsplit]]) -> list of strings
使用sep为分隔符,从左边开始分割字符串,最大分割次数为maxslit。默认分割符为空格,全部分割。
splitfields = split(s, sep=None, maxsplit=-1)
split(s [,sep [,maxsplit]]) -> list of strings
用法和split相同
strip(s, chars=None)
strip(s [,chars]) -> string
去除字符串最左边和最右边的char,char默认为空格
swapcase(s)
swapcase(s) -> string
将字符串的字母的大写变成小写,小写变成大写
translate(s, table, deletions='')
translate(s,table [,deletions]) -> string
通过table的映射关系,将字符串s译码,并deletions中包含的字符。
用法举例参照maketrans()
upper(s)
upper(s) -> string
将字符中的小写字符全部转换为大写字母,并返回
zfill(x, width)
zfill(x, width) -> string
将字符串形式的数字x通过左边补0的方式,填充为宽度为width 的字符串,并返回
另外,其他的一些内建函数和方法也能够用在字符串上。
+
用来拼接字符串
*
将某一字符串重复n遍,并返回
title(s)
将字符串中的每个单词的首字母大写,其余字母小写,并返回