例如,有一个字符串。
从html
内容中清除字符串的最佳方法是什么?
s := "<b>John</b> Thank you."
结果应为Thank you.
答案 0 :(得分:4)
首先,请不要使用正则表达式。坏事can happen。
更严重的是,如果您不信任 HTML内容,建议您使用bluemonday之类的东西,目前您可以在生产中使用它。
对于一种更简单的方法,要使某件事情快速运行,您可以使用其他满足您需要的库,例如grokify/html-strip-tags-go,或者在Eitam的答案中通过拆分字符串自己滚动。
祝你好运!
答案 1 :(得分:2)
分割字符串的最佳方法是搜索特定字符串,
(根据您的情况"</b>"
),然后将他分隔为其他字符串。
示例:
package main
import (
"fmt"
"strings"
)
func main() {
html := "<b>John</b> Thank you."
fmt.Println(html)
thanks := strings.Split(html, "</b>")[1]
fmt.Println(thanks)
}
结果:谢谢。
播放地面链接:https://play.golang.org/p/yOc3G0YeNTe
还请考虑使用TrimSpace
来避免不必要的间距
package main
import (
"fmt"
"strings"
)
func main() {
html := "<b>John</b> Thank you."
fmt.Println(html)
thanks := strings.Split(html, "</b>")[1]
fmt.Println(thanks)
cleanThanks := strings.TrimSpace(thanks)
fmt.Println(cleanThanks)
}
结果:
Thank you.
Thank you.
播放地面链接:https://play.golang.org/p/S7BRM7jOvtL
请注意,您应该验证字符串是否包含"</b>"
,否则会出现恐慌:运行时错误:索引超出范围