Python中sub方法的用法是什么?
发布时间:2022-03-29 14:07:26 所属栏目:语言 来源:互联网
导读:这篇文章主要给大家介绍Python中sub()的用法,包括sub方法的格式以及示例介绍,具有一定的借鉴价值,有这方面学习需要的朋友可以参考学习,希望大家阅读完这篇文章能有所收获。 Python怎么查询和替换一个字符串,可以使用sub()方法来进行查询和替换,sub方法
这篇文章主要给大家介绍Python中sub()的用法,包括sub方法的格式以及示例介绍,具有一定的借鉴价值,有这方面学习需要的朋友可以参考学习,希望大家阅读完这篇文章能有所收获。 Python怎么查询和替换一个字符串,可以使用sub()方法来进行查询和替换,sub方法的格式为: sub(replacement, string[, count=0]) replacement是被替换成的文本 string是需要被替换的文本 count是一个可选参数,指最大被替换的数量 例子: import re p = re.compile('(blue|white|red)') print(p.sub('colour','blue socks and red shoes')) print(p.sub('colour','blue socks and red shoes', count=1)) 输出: colour socks and colour shoes colour socks and red shoes subn()方法执行的效果跟sub()一样,不过它会返回一个二维数组,包括替换后的新的字符串和总共替换的数量 例如: import re p = re.compile('(blue|white|red)') print(p.subn('colour','blue socks and red shoes')) print(p.subn('colour','blue socks and red shoes', count=1)) 输出 ('colour socks and colour shoes', 2) ('colour socks and red shoes', 1) 补充:Python中正则表达式sub函数用法总结 正则表达式一个比较常见的用途是找到所有模式匹配的字符串并用不同的字符串来替换它们。sub方法提供一个替换值,可以是字符串或函数,和一个要被处理的字符串。 1、这里的sub方法,是被编译成‘RegexObject'实例后的实例的方法 Sub(replacement,string[,count =0 ]) 1)返回的字符串是在字符串中用RE最左边不重复的匹配来替换。如果模式没有被发现,字符将没有被改变的返回。 2)可选参数count是模式匹配后替换的最大次数;count必须是非负整数。缺省值是0表示替换所有的匹配。 例子: 2、模块级函数:sub方法 注:这些函数(包括sub函数)使用RE字符串作为第一个参数,而后面的参数与相应的“RegexObject”方法的参数相同,返回要么是None,要么是一个‘MatchObject'实例。(实际sub返回的是字符串,,两者说法不一致,以实际为准) Re.sub的作用在于:使用给定的替换内容将匹配模式的子字符串(最左端并且非重叠的子字符串)替换掉 3、作为替换的组号 在2的例子中,只是把一个字符串用其他的内容替换掉了。用replace这个字符串方法能轻松达到同样的效果。而正则表达式允许以更灵活的方式进行搜索,同时它们也允许进行功能更强大的替换。 见证re.sub强大功能的最简单方式就是在替换字符串中使用组号。在替换内容中以‘n'型式出现的任何转义序列都会被模式中与组n匹配的字符串替换掉。 例如,假设要把‘*something*'用‘<em>someting</em>'替换掉,前者是在普通文本文档(比如Email)中进行强调的常用方法,而后者则是相应的HTML代码(用于网页) 这里把所有的* *含的字符串都替换掉了。刚开始我以为只替换*world*。记一笔。 4、作为替换的函数 Re.sub函数可以将一个函数作为第二个参数(替换式)。函数会被匹配的对象调用,并且它的返回值会被插入到文本中。(但从例子2看来,是函数的唯一参数是被匹配的对象) 例子1: test.txt内容: 结果: 例子2 Sub方法不直接调用callback,而是返回一个新的函数,这个函数会被当成re.sub的替换函数来使用(这就是采用一个匹配的对象作为唯一参数的原因) (编辑:周口站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |