最近在看python标准库这本书,第一感觉非常厚,第二感觉,里面有很多原来不知道的东西,现在记下来跟大家分享一下。
string类是python中最常用的文本处理工具,在python的标准库中,有大量的工具,可以帮助我们完成高级文本处理。
- capwords()是将一个字符串中的所有单词的首字母大写。
import string s = 'The quick brown fox jumped over the lazy dog.' print s print string.capwords(s)
运行结果如下:
The quick brown fox jumped over the lazy dog.
The Quick Brown Fox Jumped Over The Lazy Dog.
相当于先调用split(),这会将结果列表中的各个单词的首字母大写,然后再调用join()合并结果。
- maketrans()函数将创建转换表,可以用来结合translate()方法将一组字符修改成另一组字符,这种方法比反复调用replace()更为高效
import string leet = string.maketrans('abegiloprstz', '463611092572') s = 'The quick brown fox jumped over the lazy dog.' print s print s.translate(leet)
运行结果如下:
The quick brown fox jumped over the lazy dog.
Th3 qu1ck 620wn f0x jum93d 0v32 7h3 142y d06.
- 字符串模版是替代内置拼接(interpolation)的一种候选方法。使用string.Template拼接时,可以在变量名前面加上前缀$来标识变量,或者如果需要与两侧的文本相区分,还可以使用大括号将变量括起。
import string values = {'var' : 'foo'} t = string.Template(""" Variable : $var Escape : $$ Variable in text : ${var}iable """) print 'TEMPLATE:', t.substitute(values) s = """ Variable : %(var)s Escape : %% Variable in text : %(var)siable """ print 'INTERPOLATION:', s % values
运行结果
TEMPLATE:
Variable : foo
Escape : $
Variable in text : fooiable
INTERPOLATION:
Variable : foo
Escape : %
Variable in text : fooiable