Python实现查找匹配项作处理后再替换回去的方法
本文实例讲述了Python实现查找匹配项作处理后再替换回去的方法。分享给大家供大家参考,具体如下:
这里实现Python在对找到的匹配项进行适当处理后,再替换掉原来那个匹配的项。
#!/usr/bin/python # coding=GBK import re # 对m作适当处理后返回结果 def fun(m): print("in: %s" %m.group(0)) ret = m.group(0).upper()[::-1] return ret src = "what [can] I do for can you[can] come on" pat = "(?<= )(can)(?= )" #print(re.search(pat, src).group(1)) #result = re.sub(pat,lambda m:m.group(1).upper()[::-1], src) # 使用lambda result1 = re.sub(pat, lambda m:m.group(0).upper()[::-1], src) print("result1: %s\n" %result1) # 在re.sub中使用函数 result2 = re.sub(pat, fun, src) print("result2: %s" %result2)
运行输出:
[zcm@python #112]$./del.py result1: what [NAC] I do for can you[NAC] come on in: can in: can result2: what [NAC] I do for can you[NAC] come on [zcm@python #113]$
看到了吗,所有匹配"[can]"的项都被“转换成大写并逆顺”了。
更多关于Python相关内容可查看本站专题:《Python字符串操作技巧汇总》、《Python常用遍历技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
相关推荐
-
Python字符串中查找子串小技巧
惭愧啊,今天写了个查找子串的Python程序被BS了- 如果让你写一个程序检查字符串s2中是不是包含有s1.也许你会很直观的写下下面的代码: 复制代码 代码如下: #determine whether s1 is a substring of s2 def isSubstring1(s1,s2): tag = False len1 = len(s1) len2 = len(s2) for i in range(0,len2): if s2[i] =
-
python快速查找算法应用实例
本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考. 具体实现方法如下: import random def partition(list_object,start,end): random_choice = start #random.choice(range(start,end+1)) #把这里的start改成random()效率会更高些 x = list_object[random_choice] i = start j = end while True: while li
-
python字符串替换的2种方法
python 字符串替换 是python 操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法. python 字符串替换可以用2种方法实现: 1是用字符串本身的方法. 2用正则来替换字符串 下面用个例子来实验下: a = 'hello word' 把a字符串里的word替换为python 1.用字符串本身的replace方法 复制代码 代码如下: a.replace('word','python') 输出的结果是hello python 2.用正则表达式来完成替换: 复制代码 代码如
-
Python字符串拼接、截取及替换方法总结分析
本文实例讲述了Python字符串拼接.截取及替换方法.分享给大家供大家参考,具体如下: python字符串连接 python字符串连接有几种方法,我开始用的第一个方法效率是最低的,后来看了书以后就用了后面的2种效率高的方法,跟大家分享一下. 先介绍下效率比较低的方法: a = ['a','b','c','d'] content = '' for i in a: content = content + i print content content的结果是:'abcd' 后来我看了书以后,发现书上
-
Python中的二叉树查找算法模块使用指南
python中的二叉树模块内容: BinaryTree:非平衡二叉树 AVLTree:平衡的AVL树 RBTree:平衡的红黑树 以上是用python写的,相面的模块是用c写的,并且可以做为Cython的包. FastBinaryTree FastAVLTree FastRBTree 特别需要说明的是:树往往要比python内置的dict类慢一些,但是它中的所有数据都是按照某个关键词进行排序的,故在某些情况下是必须使用的. 安装和使用 安装方法 安装环境: ubuntu12.04, py
-
python实现查找两个字符串中相同字符并输出的方法
本文实例讲述了python实现查找两个字符串中相同字符并输出的方法.分享给大家供大家参考.具体实现方法如下: seq1 = "spam" seq2 = "scam" res = [] for x in seq1: if x in seq2: res.append(x) print res 输出结果如下: ['s', 'a', 'm'] 希望本文所述对大家的Python程序设计有所帮助.
-
python实现在字符串中查找子字符串的方法
本文实例讲述了python实现在字符串中查找子字符串的方法.分享给大家供大家参考.具体如下: 这里实现python在字符串中查找子字符串,如果找到则返回子字符串的位置,如果没有找到则返回-1 S = 'xxxxSPAMxxxxSPAMxxxx' where = S.find('SPAM') # search for position print where # occurs at offset 4 希望本文所述对大家的Python程序设计有所帮助.
-
Python中的字符串查找操作方法总结
基本的字符串位置查找方法 Python 查找字符串使用 变量.find("要查找的内容"[,开始位置,结束位置]),开始位置和结束位置,表示要查找的范围,为空则表示查找所有.查找到后会返回位置,位置从0开始算,如果每找到则返回-1. str = 'a,hello' print str.find('hello') # 在字符串str里查找字符串hello >> 2 # 输出结果 朴素匹配算法 朴素匹配算法是对目标字符串和模板字符串的一一匹配.如果匹配得上,下标向右移一位, 否
-
Python 字符串操作实现代码(截取/替换/查找/分割)
Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. 复制代码 代码如下: # 例1:字符串截取str = '12345678'print str[0:1]>> 1 # 输出str位置0开始到位置1以前的字符print str[1:6] >> 23456 # 输出str位置1开始到位置6以前的字符num = 18str = '0000' + str(num) # 合并字符串pr
-
Python正则获取、过滤或者替换HTML标签的方法
本文实例介绍了Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法,具体内容如下 python正则表达式关键内容: python正则表达式转义符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^
-
python字符串替换示例
php5.2升级到5.3后,原& new的写法已经被放弃了,可以直接new了,面对上百个php文件,手动修改简直是想要命,所以写了个脚本,分分钟搞定. 复制代码 代码如下: #-*- coding:utf-8 -*- #!/usr/bin/python import os #定义程序根目录rootpath='D:\\wamp\\www\\erp\\app' def m_replace(path): for item in os.listdir(path): nowpath=os.path.jo
随机推荐
- Jquery+asp.net后台数据传到前台js进行解析的方法
- 用vbs实现的强制杀进程的脚本
- Spring中@Async用法详解及简单实例
- 谈谈iOS开发之JSON格式数据的生成与解析
- python实现搜索指定目录下文件及文件内搜索指定关键词的方法
- Bootstrap模态框调用功能实现方法
- PHP文件操作详解
- BootStrap组件之进度条的基本用法
- Python smallseg分词用法实例分析
- Tomcat启动成功访问主页失败的原因解决方案
- 关于URL中的特殊符号使用介绍
- Swift编程中的泛型解析
- 我教你学之注册表基本操作
- google优化圣经做网站必备第1/3页
- C#实现的鼠标钩子
- PHP中实现图片的锐化
- 简单了解将WordPress中的工具栏移到底部的小技巧
- Vue2.0用户权限控制解决方案
- Linux使用Sudo委派权限
- Vue事件修饰符native、self示例详解