在最后写一次 2021-07-20 20:10 采纳率: 40%
浏览 277
已采纳

python 正则表达式一次性替换多个字符串且替换的值不同


def _change(text1):
    text1 = str(text1)
    re_compile = re.compile("\${(.*?)}")
    result_list = re.findall(re_compile, text1)
    if len(result_list) == 0:
        pass
    elif len(result_list) == 1:
        text2 = re.sub(re_compile, result_list[0], text1)
        return text2
    elif len(result_list) > 1:
        for i in result_list:
            print(i)
            text1 = re.sub("\${%(can)s}" % {"can": i}, i, text1, 0)
            


if __name__ == '__main__':
    data = {'${data}': {'${_id}': '56592efb22b', 'username': 'admin123',
                       'password': '123456'}}
    print(_change(wqw))

我想将data转化为{'data': {'_id': '56592efb22b', 'username': 'admin123', 'password': '123456'}},不知道能不能实现(data可以是任何形式只要是${data}全部替换为data)

  • 写回答

1条回答 默认 最新

  • ToTensor 2021-07-20 23:40
    关注

    我有一篇代码一变三的文章,你可以看一下,里面有个替换代码的描述,可能会对你有帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 7月21日
  • 创建了问题 7月20日