[Golang] golang中使用正则表达式替换字符串

当有比较复杂的替换字符串的需求时候

可以使用我封装的这个函数,通过正则表达式把字符串替换掉

func ReplaceStringByRegex(str, rule, replace string) (string, error) {
    reg, err := regexp.Compile(rule)
    if reg == nil || err != nil {
        return "", errors.New("正则MustCompile错误:" + err.Error())
    }
    return reg.ReplaceAllString(str, replace), nil
}

例如这个案例,把除了a标签外的所有html标签去掉

func TestReplaceStringByRegex(t *testing.T) {
    orgStr := `<p>直接点击<a href="https://www.yidaoerp.cn/user/login" target="_blank">立即注册</a>登陆使用</p>`
    dstStr, err := ReplaceStringByRegex(orgStr, "<[^a>]+>", "")
    log.Println(dstStr, err)
}

 

posted @ 2022-05-13 23:26  唯一客服系统开发笔记  阅读(1054)  评论(0编辑  收藏  举报