re.sub(pattern, repl, string, count=0, flags=0)

pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1 代表第一个分组

repl是将会被替换的值,repl可以是字符串也可以是一个方法。如果是一个字符串,反斜杠会被处理为逃逸字符,如\n会被替换为换行,等等。repl如果是一个function,每一个被匹配到的字段串执行替换函数。

\g<1> 代表前面pattern里面第一个分组,可以简写为\1,\g<0>代表前面pattern匹配到的所有字符串。

count是pattern被替换的最大次数,默认是0会替换所有。有时候可能只想替换一部分,可以用到count

实例1:

a = re.sub(r'hello', 'i love the', 'hello world')

print(a)

'i love the world' #hello world里面的hello被 i love the替换

实例2:

>>> a = re.sub(r'(\d+)', 'hello', 'my numer is 400 and door num is 200')

>>> a

'my numer is hello and door num is hello' #数字400 和 200 被hello替换

实例3:

a = re.sub(r'hello (\w+), nihao \1', r'emma','hello sherry, nihao sherry')

>>> a

'emma' #\1代表第一个分组的值即sherry,因为有两个sherry,所以用\1可以指代第二个,这样整个字符串被emma替换

示例4:

>>> a = re.sub('(\d{4})-(\d{2})-(\d{2})', r'\2-\3-\1', '2018-06-07')

>>> a

'06-07-2018'

>>> a = re.sub('(\d{4})-(\d{2})-(\d{2})', r'\g<2>-\g<3>-\g<1>', '2018-06-07')

>>> a

'06-07-2018' #\2 和 \g<2> 指代的的都是前面的第二个分组

示例5:

import re

def replace_num(str):

numDict = {'0':'〇','1':'一','2':'二','3':'三','4':'四','5':'五','6':'六','7':'七','8':'八','9':'九'}

print(str.group())

return numDict[str.group()]

my_str = '2018年6月7号'

a = re.sub(r'(\d)', replace_num, my_str)

print(a) #每次匹配一个数字,执行函数,获取替换后的值

re.subn(pattern, repl, string, count=0, flags=0)

和sub()函数一样,只是返回的是一个tuple,替换后的字符串和替换的个数

python re 替换_python字符串替换之re.sub()相关推荐

  1. python 字符串替换_python字符串替换的2种方法

    一.python字符串替换可以用两种方法实现: 1.用字符串本身的方法 2.用正则来替换字符串 下面用个例子来实验: a = 'hello word' 我把a字符串里的word替换为python 1. ...

  2. python字符串变量替换_python字符串替换第一个字符串的方法

    Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...

  3. python 字符串替换_python字符串替换第一个字符串的方法

    Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...

  4. Python正则表达式如何进行字符串替换实例

    Python正则表达式如何进行字符串替换实例 Python正则表达式在使用中会经常应用到字符串替换的代码.有很多人都不知道如何解决这个问题,下面的代码就告诉你其实这个问题无比的简单,希望你有所收获. ...

  5. python模板代码替换_Python - 安全替换字符串模板(safe_substitute) 详细解释

    安全替换字符串模板(safe_substitute) 详细解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27057339 字 ...

  6. Python正则表达式如何进行字符串替换

    先来段网上的知识:http://developer.51cto.com/art/201003/188824.htm Python正则表达式在使用中会经常应用到字符串替换的代码.有很多人都不知道如何解决 ...

  7. python输出举例_python字符串格式化输出及相关操作代码举例

    字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在   Python 中,字符串格式化使 ...

  8. python设置字符_python字符串操作

    # FirstPython.py """ 标准字符串函数 """ """ 字符串索引 "" ...

  9. python isalnum函数_Python 字符串 (isdigit, isalnum,isnumeric)转

    Python isdigit() 方法检测字符串是否只由数字组成. 语法 isdigit()方法语法: str.isdigit() 参数 无. 返回值 如果字符串只包含数字则返回 True 否则返回 ...

  10. python字符串之查找与替换_Python字符串操作(查找,替换,分割和连接)方法及其使用...

    str 提供了如下常用的执行查找.替换等操作的方法: startswith():判断字符串是否以指定子串开头. endswith():判断字符串是否以指定子串结尾. find():查找指定子串在字符串 ...

最新文章

  1. 服不服?40行Python代码,实现卷积特征可视化
  2. 001-Spring Cloud Edgware.SR3 升级最新 Finchley.SR1,spring boot 1.5.9.RELEASE 升级2.0.4.RELEASE注意问题点...
  3. 皮一皮:这样的消息我也想收...
  4. centos下phpmyadmin的安装配置
  5. 蓝牙a2dp硬件卸载是什么意思_索尼这项音频黑科技 让蓝牙音质从此不输有线
  6. 启动rocketmq_RocketMQ 部署启动指南-Docker 版
  7. 一道十分有趣的概率题!3局2胜和5局3胜哪个胜算更大?你怎么思考
  8. java的比较运算符是_Java 基础(比较运算符,逻辑运算符,三元运算符)
  9. linux所有文件打包压缩,Linux基础教程:对文件打包压缩
  10. html上传文件与后台处理,HTML加一般处理程序实现文件上传
  11. 【Redis】redis基本数据结构之ZSet
  12. java vc_vc++与 java有什么不同
  13. 分享一个Winform里面的HTML编辑控件Zeta HTML Edit Control,汉化附源码
  14. excel 平滑滚动_我的Excel书——Excel职场应用实战精粹
  15. 913微型计算机原理,微机原理与接口技术(铁道大学)第9章定时器计数器.ppt
  16. zend studio php调试,Zend Studio中如何配置和使用xdebug断点调试工具?
  17. USB Still Image Capture设备类
  18. wxpython使用简介_wxPython AUI介绍
  19. Win32:三菱FX3U/FX5U读写软元件方法和注意事项
  20. 自动表单生成工具说明(后端、桌面、web、移动端)

热门文章

  1. 四旋翼无人机数学模型推导
  2. matlab怎么表示分块矩阵,急求一个测量矩阵采用分块多项式矩阵时怎样引用的代码!!!...
  3. Spring Security OAuth2.0 认证协议【15】实现QQ第三方登录
  4. 国内计算机三大期刊+ JCST
  5. 使用usb串口线作为console
  6. 统计工具代码同步安装和异步安装有何区别
  7. html页面添加动态动画小人,博客页面添加动态小人
  8. 第02章 前馈神经网络
  9. PDF文件解密安全口令
  10. 在自己的网站上实现QQ授权登录