7替换

Posted sruzzg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7替换相关的知识,希望对你有一定的参考价值。

"""替换"""


"""
在字符串中替换子串时,使用模块re并通过正则表达式指定被替换的子串可以实现更加强大的替换功能。模块re提供了两个实现字符串替换的方法
一、sub()
二、subn()
"""

import re

"""
一、sub()
sub(pattern, repl, string, count=0, flags=0):
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。当repl为空字符串时替换就变成删除
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
flags :一个可选标志,用于控制正则表达式匹配方式
"""

print(re.sub(r‘d+‘, ‘zzg‘, ‘a-123-b-456-c-789-d‘)) # a-zzg-b-zzg-c-zzg-d
print(re.sub(r‘d+‘, ‘zzg‘, ‘a-123-b-456-c-789-d‘, 2)) # a-zzg-b-zzg-c-789-d

# 当repl为一个函数时举例
def add(match):
val = match.group()
num = int(val) + 1
return str(num)
# 以下运行通过函数替换其结果为:a-124-b-457-c-790-d
print(re.sub(r‘d+‘, add, ‘a-123-b-456-c-789-d‘))

# 当repl为空字符串时替换就变成删除
print(re.sub(r‘[aeiou]‘, ‘‘, ‘Apple‘, flags=re.I)) # ppl


"""
二、subn()
返回值是包含两个元素的元组:(sub()的返回值,替换次数)
"""
# (‘a-124-b-457-c-790-d‘, 3)
print(re.subn(r‘d+‘, add, ‘a-123-b-456-c-789-d‘))

以上是关于7替换的主要内容,如果未能解决你的问题,请参考以下文章

1.7.08:字符替换

[PTA]习题7-7 字符串替换

7-替换空格

在Unix中用“|”替换最后9个分隔符“,”

如何用JavaScript替换数组中间隔多个参数

在iOS 7中替换已弃用的sizeWithFont: