(4)字符串替换
.replace()
方法replace将指定子串都替换为另一个字符串,并返回替换后的结果。
>>> 'This is a test'.replace('is', 'eez')
'Theezeez a test'
如果你使用过字处理程序的“查找并替换”功能,一定知道这个方法很有用。

.maketrans()
功能:制作用于创建字符串替换的映射表 格式: 字符串.maketrans('查找需要转换的字符intab','替换的目标字符outtab') 两个字符必须长度相等,值一一对应,缺一或多一不可 返回值:字典


.translate()
功能:进行字符串替换操作 格式:字符串.translate(映射表) 返回值:替换之后的字符串
方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符替换。这个方法的优势在于能够同时替换多个字符,因此效率比replace高。
这个方法的用途很多(如替换换行符或其他随平台而异的特殊字符),假设你要将一段英语文本转换为带有德国口音的版本,为此必须将字符c和s分别替换为k和z。
然而,使用translate前必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系。要创建转换表,可对字符串类型str调用方法maketrans,这个方法接受两个参数:两个长度相同的字符串,它们指定要将第一个字符串中的每个字符都替换为第二个字符串中的相应字符。就这个简单的示例而言,代码类似于下面这样:
>>> table = str.maketrans('cs', 'kz')
如果愿意,可查看转换表的内容,但你看到的只是Unicode码点之间的映射。
>>> table
{115: 122, 99: 107}
创建转换表后,就可将其用作方法translate的参数。
>>> 'this is an incredible test'.translate(table)
'thiziz an inkredibletezt'
调用方法maketrans时,还可提供可选的第三个参数,指定要将哪些字母删除。例如,要模仿语速极快的德国口音,可将所有的空格都删除。
>>> table = str.maketrans('cs', 'kz', ' ')
>>> 'this is an incredible test'.translate(table)
'thizizaninkredibletezt'
