看过之前文章的小伙伴都知道,字符串跟正则表达式有紧密的联系,同时经常提到的还有re模块。那么,这三者一起使用会有怎样的效果呢?小编今天带来函数,是关于re中分离出字符串的sub和subn。看起来很像两个双胞胎,那么使用方法上有什么细微的区别呢?它们都可以用来分离出字符串吗?具体内容往下看:
sub(pattern, repl, string, count=0, flags=0)
用正则表达式pattern去匹配原始字符串string,并把匹配到的内容替换成repl。
import re str = "138-0013-8000" repl = "" # 删除所有的‘-’ num = re.sub(pattern=r'\D', repl=repl, string=str) print("电话号码是 : ", num) #电话号码是 : 13800138000
subn(pattern, repl, string, count=0, flags=0)
用正则表达式pattern去匹配原始字符串string,并把匹配到的内容替换成repl和返回被替换掉的数量。
import re str = "138-0013-8000" repl = "" num = re.subn(pattern=r'\D', repl=repl, string=str) print("电话号码是 : ", num) #电话号码是 : ('13800138000', 2)
上面两个函数很像,一个是sub,一个是subn。大家可不要看花眼混淆了使用。用法都不是很难,快点试试吧。更多Python学习推荐:PyThon学习网教学中心。