Python 实现“替换”功能

Python 实现“替换”功能,第1张

Python 实现“替换”功能

用 Python 实现“替换”功能

string1="aaa新年快乐bbb"
string2=string1.replace("新年快乐", "恭喜发财")
print(string2)
# aaa恭喜发财bbb

string3="aaa新年快乐bbb新年快乐ccc"
string4=string3.replace("新年快乐", "恭喜发财", 2)
print(string4)
# aaa恭喜发财bbb恭喜发财ccc

实现批量替换
用字典 + 自定义函数替代 replace 函数实现批量“一对一”替换

# 保存映射关系的函数,函数的主要功能是通过字典实现的
def replace_city(city_name):
    return {
        "GUANGDONG":"广东省",
        "HEBEI":"河北省",
        "HUNAN":"湖南省",
        "HANGZHOU":"杭州市"
    }[city_name]

# 根据映射关系实现批量循环
def replace_multi(my_citys, replaced_string):
    for pinyin_city in my_citys:
        replaced_string = replaced_string.replace(
            pinyin_city,replace_city(pinyin_city))
    return replaced_string
    
# 哪些城市要替换
citys = ("GUANGDONG", "HUNAN")

# 需要替换的字符串
string1 = """
GUANGDONG,简称“粤”,中华人民共和国省级行政区,省会广州。
因古地名广信之东,故名“GUANGDONG”。位于南岭以南,南海之滨,
与香港、澳门、广西、HUNAN、江西及福建接壤,与海南隔海相望。"""

string2 = replace_multi(citys, string1)
print(string2)
# 广东省,简称“粤”,中华人民共和国省级行政区,省会广州。
# 因古地名广信之东,故名“广东省”。位于南岭以南,南海之滨,
# 与香港、澳门、广西、湖南省、江西及福建接壤,与海南隔海相望。

用逻辑判断 + 自定义函数替代 replace() 函数实现“多对一”替换

age = 18
if age>0 and age<=6:
    value="少年"
    
elif age>7 and age<=18:
    value=青年"

elif age>19 and age<=65:
    value="中年"

else:
    value="老年"
总结

字符串的 replace() 函数;
使用字典做“一对一”映射,通过字典类型的键值对, 实现内容替换;
使用逻辑判断实现“多对一”映射,将 if 判断的条件替换为匹配成功的结果。

替换 *** 作要根据被替换内容的形式,选择合适的方法,replace() 函数更适合单个替换,字典适合“一对一”替换,if 逻辑判断适合将一个范围替换成一个值。

除了灵活掌握不同的替换方式,我还建议你把字典和逻辑判断放入自定义函数当中,当你遇到类似需求的时候就可以直接复用代码。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5595328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存