当有比较复杂的替换字符串的需求时候
可以使用我封装的这个函数,通过正则表达式把字符串替换掉
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)
}