python字符串替换re.sub()实例解析

这篇文章主要介绍了python字符串替换re.sub()实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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)<br data-filtered="filtered">'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,替换后的字符串和替换的个数  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2020-02-08

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

去空格及特殊符号 s.strip().lstrip().rstrip(',') Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 连接字符串 #strcat(sStr1,sStr2) sStr1 = 'strcat' sStr2 = 'append' sStr1 += sStr2 print

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

Python正则表达式在使用中会经常应用到字符串替换的代码.有很多人都不知道如何解决这个问题,下面的代码就告诉你其实这个问题无比的简单,希望你有所收获. 1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串 result, number = re.subn(regex, newstring, subject) 2.替换所有匹配的子串(使 用正则表达式对象) rereobj = re.compile(regex) result, number = re

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

Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '12345678' print str[0:1] >> 1 # 输出str位置0开始到位置1以前的字符 print str[1:6] >> 23456 # 输出str位置1开始到位置6以前的字符 num = 18 str = '0000' + str(num) # 合并字符串 print str[-

在Python中实现替换字符串中的子串的示例

假如有个任务: 给定一个字符串,通过查询字典,来替换给定字符中的变量.如果使用通常的方法: >>> "This is a %(var)s" % {"var":"dog"} 'This is a dog' >>> 其实可以使用string.Template类来实现上面的替换 >>> from string import Template >>> words = Template

Python实现的从右到左字符串替换方法示例

本文实例讲述了Python实现的从右到左字符串替换方法.分享给大家供大家参考,具体如下: 一 . 前言 需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始,就索性自己写个,有需求的自己可以在此基础上搞个python hack,给str增加个rreplace方法. 二. 实现 利用python 的其它内置方法,11行代码就可以了 def rreplace(self, old, new, *max): count = len(self) if max an

python字符串替换re.sub()方法解析

pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改.\1 代表第一个分组 repl是将会被替换的值,repl可以是字符串也可以是一个方法.如果是一个字符串,反斜杠会被处理为逃逸字符,如\n会被替换为换行,等等.repl如果是一个function,每一个被匹配到的字段串执行替换函数. \g<1> 代表前面pattern里面第一个分组,可以简写为\1,\g<0>代表前面pattern匹配到的所有字符串. count是pattern被替换的最大

Python常用字符串替换函数strip、replace及sub用法示例

本文实例讲述了Python常用字符串替换函数strip.replace及sub用法.分享给大家供大家参考,具体如下: 今天在做一道今年秋季招聘题目的时候遇上了一个替换的问题,题目看起来好长好复杂啊,真的,一时间,我看了好几遍也没看懂,其实实质很简单,就是需要把给定的一个字符串里面的指定字符替换成一些指定的内容就行了,这样首选当然是字典了,没有之一,题目很简单就不写出来了,在这里花了一点时间专门总结了一下字符串的替换的几个常用的函数,希望也能帮到有需要的人,自己也是当做一个学习的记录,好了,在这里

Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)

题目: 1.首先将文件:/etc/selinux/config 进行备份 文件名为 /etc/selinux/config.bak 2.再文件:/etc/selinux/config 中的enforcing 替换为 disabled # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux securit

python同时替换多个字符串方法示例

本文介绍了python同时替换多个字符串方法示例,分享给大家,具体如下: import re words = ''' 钟声响起归家的讯号 在他生命里 仿佛带点唏嘘 黑色肌肤给他的意义 是一生奉献 肤色斗争中 年月把拥有变做失去 疲倦的双眼带着期望 今天只有残留的躯壳 迎接光辉岁月 风雨中抱紧自由 一生经过彷徨的挣扎 自信可改变未来 问谁又能做到 可否不分肤色的界限 愿这土地里 不分你我高低 缤纷色彩闪出的美丽 是因它没有 分开每种色彩 年月把拥有变做失去 疲倦的双眼带着期望 今天只有残留的躯壳

Python正则替换字符串函数re.sub用法示例

本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它替换成自己想要的字符串的方法 re.sub 函数进行以正则表达式为基础的替换工作 下面是一段示例源码 #!/usr/bin/env python #encoding: utf-8 import re url = 'https://113.215.20.136:9011/113.215.6.77/c3

详解PHP字符串替换str_replace()函数四种用法

下面通过本文给大家分享PHP字符串替换str_replace()函数4种用法,具体内容如下所示: mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 该函数返回一个字符串或者数组.该字符串或数组是将subject中全部的search都被replace替换之后的结果. 1.$search,要替换的字符串,或数组 2.$replace,被用来替换的字符串或数组 3.$subjec

python调用其他文件函数或类的示例

B.py调用A.py的函数或类 在同一个文件夹下 调用函数: A.py文件: def add(x,y): print('和为:%d'%(x+y)) B.py文件: import A A.add(1,2) 或 from A import add add(1,2) 调用类: A.py文件: class A: def __init__(self,xx,yy): self.x=xx self.y=yy def add(self): print("x和y的和为:%d"%(self.x+self.

对python实现二维函数高次拟合的示例详解

在参加"数据挖掘"比赛中遇到了关于函数高次拟合的问题,然后就整理了一下源码,以便后期的学习与改进. 在本次"数据挖掘"比赛中感觉收获最大的还是对于神经网络的认识,在接近一周的时间里,研究了进40种神经网络模型,虽然在持续一周的挖掘比赛把自己折磨的惨不忍睹,但是收获颇丰.现在想想也挺欣慰自己在这段时间里接受新知识的能力.关于神经网络方面的理解会在后续博文中补充(刚提交完论文,还没来得及整理),先分享一下高次拟合方面的知识. # coding=utf-8 import

php中替换字符串函数strtr()和str_repalce()的用法与区别

首先来看看这个php字符串替换函数 strtr()的两种用法: strtr(string,from,to) 或者strtr(string,array) 首先针对strtr函数第一种方式: 我们看看下面的举例: <?php echo strtr("I Love you","Lo","lO"); ?> 得到的结果是: I lOve yOu 这个结果提醒我们: 1.strtr它是区分大小写的 2.strtr的替换是很特殊的,你注意看后面那个

Python使用re模块正则提取字符串中括号内的内容示例

本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作.分享给大家供大家参考,具体如下: 直接上代码吧: # -*- coding:utf-8 -*- #! python2 import re string = 'abe(ac)ad)' p1 = re.compile(r'[(](.*?)[)]', re.S) #最小匹配 p2 = re.compile(r'[(](.*)[)]', re.S) #贪婪匹配 print(re.findall(p1, string)) print(

Python enumerate函数功能与用法示例

本文实例讲述了Python enumerate函数功能与用法.分享给大家供大家参考,具体如下: eunmerate在英文中是列举.枚举的意思,在python中eunmerate()是一个内置的函数,用于在一个可迭代或可遍历的对象(如列表.字符串.数组.字典)中,将对象组成一个一个序列和索引,可以同时获得索引和索引值. enumerate函数原型: enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标: 即对一个

Python正则抓取网易新闻的方法示例

本文实例讲述了Python正则抓取网易新闻的方法.分享给大家供大家参考,具体如下: 自己写了些关于抓取网易新闻的爬虫,发现其网页源代码与网页的评论根本就对不上,所以,采用了抓包工具得到了其评论的隐藏地址(每个浏览器都有自己的抓包工具,都可以用来分析网站) 如果仔细观察的话就会发现,有一个特殊的,那么这个就是自己想要的了 然后打开链接就可以找到相关的评论内容了.(下图为第一页内容) 接下来就是代码了(也照着大神的改改写写了). #coding=utf-8 import urllib2 import

MySQL函数大全及用法示例分享

字符串函数 ASCII(str)   返回字符串str的第一个字符的ASCII值(str是空串时返回0)  mysql> select ASCII('2');  -> 50  mysql> select ASCII(2);  -> 50  mysql> select ASCII('dete');  -> 100 ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值. 如果是一个多字节字符,以格式返回((first byte ASCII co