我有一个字符串
str := "IGotInternAtGeeksForGeeks"
我试着把它转换成
str = "i_got_intern_at_geeks_for_geeks"
最佳答案
试试这个,
import (
"fmt"
"strings"
"regexp"
)
var matchFirstCap = regexp.MustCompile("(.)([A-Z][a-z]+)")
var matchAllCap = regexp.MustCompile("([a-z0-9])([A-Z])")
func ToSnakeCase(str string) string {
snake := matchFirstCap.ReplaceAllString(str, "${1}_${2}")
snake = matchAllCap.ReplaceAllString(snake, "${1}_${2}")
return strings.ToLower(snake)
}
运行:
func main() {
fmt.Println(ToSnakeCase("IGotInternAtGeeksForGeeks"))
}
输出:
i_got_intern_at_geeks_for_geeks
注意:这不适用于许多非英语语言。
关于string - 如何将驼峰大小写字符串转换为蛇形大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56616196/