已有183人关注
请问一下,如果我个句子里面出现多个需要替换的字符串那么应该怎样去处理?
发表在Python图书答疑 2018-12-03 《零基础学Python》第5章 字符串及正则表达式
是否精华
版块置顶:

 import re
general_name = r'(曹操)|(曹丕)|(曹仁)|(曹植)'
address1 = r"(长坂坡)"
address2 = r"(徐州)"
check = "三国时期曹操与关羽,张飞长坂坡结义,曹丕并向孙权借去徐州,没有归还"
match1 = re.sub(ganeral_name,"刘备",check address1,"桃园" check,address2,"荆州",check)
print(match1) 

请问一下如果我要替换以上字符串的话我应该怎样一次性把几个不同的位置和信息进行替换呢?

分享到:
精彩评论 3
无语_mrkj
学分:3155 LV11
2018-12-03
沙发

您试一下下面的代码,是不是您要的结果。另外,这里的曹操、曹丕我没有想要应用正则表达式统一替换的方法。如果统一替换就没有办法一起替换其他的匹配了。

one_str= '三国时期曹操与关羽,张飞在长坂坡结义,曹丕向孙权借去徐州,没有归还'

str_dict = {

    '曹操': '刘备',

    '长坂坡': '桃园',

    '徐州': '荆州',

    '曹丕': '刘备'

}



# 替换并输出新的字符串


for key in str_dict:

    one_str = one_str.replace(key, str_dict[key])

print(one_str)


66799617
学分:112 LV3
2018-12-04
板凳

无语_mrkj 发表于2018-12-03 10:25

您试一下下面的代码,是不是您要的结果。另外,这里的曹操、曹丕我没有想要应用正则表达式统一替换的方法。如果统一替换就没有办法一起替换其他的匹配了。

one_str= '三国时期曹操与关羽,张飞在长坂坡结义,曹丕向孙权借去徐州,没有归还'

str_dict = {

    '曹操': '刘备',

    '长坂坡': '桃园',

    '徐州': '荆州',

    '曹丕': '刘备'

}



# 替换并输出新的字符串


for key in str_dict:

    one_str = one_str.replace(key, str_dict[key])

print(one_str)


老师但是我想用impute re里面的sub方法去替换三个不同的地方。那么可以怎样做,又可不可以在我需要替换的地方用input这个方法输入我需要替换的信息,这样可以吗?

无语_mrkj
学分:3155 LV11
2018-12-14
地板

抱歉,对于您这个问题我目前也没有好的想法能实现。有时间时我可以再研究一下,如果有结果,会第一时间回复您。

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照