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

使用正则表达式将第一个字母转换为大写的小写

使用正则表达式将第一个字母转换为大写的小写

Go
倚天杖 2022-08-09 20:45:56
我正在尝试转换一些文本,其中第一个字母被更改或保留为大写字母,其余部分转换为全部小写。即这是一些要更改的文本 - 这是要更改的一些文本我尝试了以下方法,但 \ 在 Go 中不兼容。但是,我仍然需要以相同的格式使用它。将: - 正则表达式: (\w+)([A-Z]) 替换为: “\L$1$2”
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

正如评论中提到的,您并不真正想要正则表达式,因为正则表达式并不是为此而设计的。


标准 Go 库的问题在于存在字符串。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。



查看完整回答
反对 回复 2022-08-09
  • 1 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

举报

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