zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-02-18 15:36:51 时间

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

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

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)
}