登录
首页 >  Golang >  Go问答

使用正则表达式将字符串的首字母由小写转换为大写

来源:stackoverflow

时间:2024-03-28 15:42:28 386浏览 收藏

本篇文章给大家分享《使用正则表达式将字符串的首字母由小写转换为大写》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我正在尝试转换一些文本,其中第一个字母被更改或保留为大写,其余部分转换为全部小写。 IE 这是一些需要更改的文本 - 至 这是一些需要更改的文本

我尝试了以下方法,但 \ 在 Go 中不兼容。但我仍然需要相同的格式。

  • 替换: - 正则表达式:(\w+)([A-Z]) 与:“\L$1$2”

解决方案


正如评论所提到的,您实际上并不需要正则表达式,因为正则表达式并不是为此而设计的。

标准 go 库的问题是有 strings.title,但它会将所有单词转换为每个单词的第一个字符大写,但查看 strings.title 的源代码有助于创建有效的东西:

textToChange := "This Is SOME TEXT TO CHANGE"

isFirstChar := true
final := strings.Map(func(r rune) rune {
    if isFirstChar {
        isFirstChar = false
        return unicode.ToUpper(r)
    }
    return r
}, strings.ToLower(textToChange))

这个解决方案并不完美(我还没有真正测试过它 - 它假设 unicode.toupper 会很乐意转换任何字符),但它适用于 unicode。

以上就是《使用正则表达式将字符串的首字母由小写转换为大写》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>