创建一个包含所有可替换键值对的单个
strings.Replacer
。
r := strings.NewReplacer(
"-", "_",
" ", "_",
",", "_",
".", "",
"/", "",
"€", "",
"%", "",
"12", "halb",
"14", "viertel",
)
并像这样使用它:
s2 := r.Replace(godiacritics.Normalize(strings.ToLower(articles[i].Name)))
strings.Replacer
可以在一次迭代中执行所有替换操作。它还支持并发使用,创建 Replacer
一次并在需要时重复使用。
以下是测试代码示例:
s := "test- ,./€%:12 14"
s2 := strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(s, "-", "_"), " ", "_"), ",", "_"), ".", ""), "/", ""), "€", ""), "%", ""), "12", "halb"), "14", "viertel")
fmt.Println(s2)
r := strings.NewReplacer(
"-", "_",
" ", "_",
",", "_",
".", "",
"/", "",
"€", "",
"%", "",
"12", "halb",
"14", "viertel",
)
s3 := r.Replace(s)
fmt.Println(s3)
输出结果为(在Go Playground上试一试):
test___:halb_viertel
test___:halb_viertel