我做错了什么?为什么 ToUpper 不起作用?
package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
r := regexp.MustCompile("(\\w)(\\w+)")
// Getting "sometext" instead of "SomeText"
res := r.ReplaceAllString("some text", strings.ToUpper("$1") + "$2")
fmt.Println(res)
}
最佳答案
恐怕你不能像这样使用 $1
和 $2
!
我认为您正在尝试将“some text”变成“SomeText”。
Here is an alternative solution
package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
r := regexp.MustCompile(`\s*\w+\s*`)
res := r.ReplaceAllStringFunc("some text", func(s string) string {
return strings.Title(strings.TrimSpace(s))
})
fmt.Println(res)
}
关于go - 使用 ReplaceAllString 和 ToUpper 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16456184/