在最后写一次
2021-07-20 20:10
采纳率: 66.7%
浏览 73

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条回答 默认 最新

  • VegetableBirdNLPer 2021-07-20 23:40
    已采纳

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

    点赞 评论

相关推荐 更多相似问题