为了账号安全,请及时绑定邮箱和手机立即绑定

不区分大小写的替换

不区分大小写的替换

森栏 2019-11-28 10:25:42
在Python中执行不区分大小写的字符串替换的最简单方法是什么?
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

在一行中:


import re

re.sub("(?i)hello","bye", "hello HeLLo HELLO") #'bye bye bye'

re.sub("(?i)he\.llo","bye", "he.llo He.LLo HE.LLO") #'bye bye bye'

或者,使用可选的“标志”参数:


import re

re.sub("hello", "bye", "hello HeLLo HELLO", flags=re.I) #'bye bye bye'

re.sub("he\.llo", "bye", "he.llo He.LLo HE.LLO", flags=re.I) #'bye bye bye'


查看完整回答
反对 回复 2019-11-28
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

继续bFloch的回答,此功能将不改变任何一个,而是将所有旧出现的内容更改为新内容-以不区分大小写的方式。


def ireplace(old, new, text):

    idx = 0

    while idx < len(text):

        index_l = text.lower().find(old.lower(), idx)

        if index_l == -1:

            return text

        text = text[:index_l] + new + text[index_l + len(old):]

        idx = index_l + len(new) 

    return text


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 487 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信