为了账号安全,请及时绑定邮箱和手机立即绑定

golang regexp ReplaceAllStrings with backreference

golang regexp ReplaceAllStrings with backreference

Go
红糖糍粑 2021-10-25 17:12:05
尝试将单词开头的每个字母大写。我知道有strings.Title,但这对我的需求来说太不精确了。我不确定为什么这不起作用:package mainimport (    "fmt"    "regexp"    "strings")func main() {    re := regexp.MustCompile(`\b([a-z])`)    fmt.Println(re.ReplaceAllString("my test string", strings.ToUpper("$1")))}https://play.golang.org/p/C-8QG1FrOi
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

你应该使用ReplaceAllStringFunc,例如:


re.ReplaceAllStringFunc("my test string", func(s string) string {

                                          return strings.ToUpper(s)})

请参阅工作演示。


您的代码不起作用,因为:


re.ReplaceAllString("my test string", strings.ToUpper("$1"))

是相同的:


re.ReplaceAllString("my test string", "$1")

因为 的大写$1仍然是$1。


查看完整回答
反对 回复 2021-10-25
  • 1 回答
  • 0 关注
  • 226 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信