博客
关于我
【笔记】Python3中使用string模块删除&替换字符串中的特定值
阅读量:573 次
发布时间:2019-03-09

本文共 795 字,大约阅读时间需要 2 分钟。

Python 字符串模块 string 文档

方法 str.maketrans()

str.maketrans(x[, y[, z]]) 是一个静态方法,可用于 str.translate()。它返回一个可用于字符串翻译的翻译表。

参数说明

  • x:用于识别字符串中需要匹配的值。
  • y:用于将匹配值替换为新字符的字符串。新字符串的长度需与 x 相同。
  • z:用于标记需要删除的字符。

注意:参数 xy 需同时存在,并可以为空。

使用示例

import stringi = 'iiiiiloveyou'trans_table = str.maketrans('', '', 'i')print(i.translate(trans_table))  # 输出: 'loveyou'i = 'iiiiiloveyou'trans_table = string.maketrans('i', 'y')print(i.translate(trans_table))  # 输出: 'yyyyyloveyou'

翻译表生成规则

  • 仅一个参数

    如果只提供一个参数,必须是字典。字典的键可以是 Unicode 编码(整数)或字符(单字符字符串)。字符键会被转换为 Unicode 编码。

  • 两个参数

    两个字符串必须长度相等。生成的字典中,每个字符在 x 中会映射到相应位置的字符在 y 中。

  • 三个参数

    第三个参数是字符串,字符会映射到 None

split() 的区别

split()translate() 的工作原理不同:

  • split():将字符串拆分为多个部分,类似于火车每节车厢的连接环被移除,形成独立的部分。
  • translate():先移除连接环,再重新连接需要的部分,形成完整的字符串。

这使得 translate() 的结果仍然是一个字符串,而 split() 的结果是一个列表。

转载地址:http://khppz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现双向循环链表(附完整源码)
查看>>
Objective-C实现双端队列算法(附完整源码)
查看>>
Objective-C实现双线性插值(附完整源码)
查看>>
Objective-C实现双重链表(附完整源码)
查看>>
Objective-C实现反向传播神经网络算法(附完整源码)
查看>>
Objective-C实现反转位算法(附完整源码)
查看>>
Objective-C实现反转字符串算法(附完整源码)
查看>>
Objective-C实现合并两棵二叉树算法(附完整源码)
查看>>
Objective-C实现向量叉乘(附完整源码)
查看>>
Objective-C实现哈希查找(附完整源码)
查看>>
Objective-C实现哈希表算法(附完整源码)
查看>>
Objective-C实现四舍五入(附完整源码)
查看>>
Objective-C实现四阶龙格库塔法(附完整源码)
查看>>
Objective-C实现四阶龙格库塔法(附完整源码)
查看>>
Objective-C实现回调实例(附完整源码)
查看>>
Objective-C实现图书借阅系统(附完整源码)
查看>>
Objective-C实现图像二维熵的图像信号丢失检测(附完整源码)
查看>>
Objective-C实现图像去雾算法(附完整源码)
查看>>
Objective-C实现图层混合算法(附完整源码)
查看>>
Objective-C实现图片erosion operation侵蚀操作算法(附完整源码)
查看>>