用 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 逻辑判断适合将一个范围替换成一个值。
除了灵活掌握不同的替换方式,我还建议你把字典和逻辑判断放入自定义函数当中,当你遇到类似需求的时候就可以直接复用代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)