regex - 将字符串中单词的首字母大写

标签 regex string groovy

我无法弄清楚如何在 groovy 中将字符串转换为驼峰式大小写。假设我从一个看起来像“1-800 FOO.BAR”的字符串开始。最终,我希望它变成“1800FooDotBar”。通过执行以下操作,我已经能够获得 1800FOODotBar:

String str = "1-800 FOO.BAR"
String tempStr = str.replaceAll(/(?i)\.com/, "DotCom")
String newStr = tempStr.replaceAll(/\\W/, "")

我只是不确定如何摆脱中间的那些大写字母。我遇到了一些关于 capitalize() 方法的信息,应该能够提供帮助,但我对 Groovy 不够熟悉,不知道如何使用它。我想我需要将每个单词的字符串拆分为单独的字符串,然后将每个字符串的第一个字母大写,但是如何构建最终结果?我知道有人问过类似的问题,但我只是不知道如何获取这些信息并从中制作完整的 Groovy 代码。提前致谢!

最佳答案

非常粗略:

String str = "1-800 FOO.BAR"
println str.replaceAll(/\./, " Dot ").split(/[^\w]/).collect { it.toLowerCase().capitalize() }.join("")
=> 1800FooDotBar

关于regex - 将字符串中单词的首字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17307546/

相关文章:

regex - 使用正则表达式匹配所有大于 36 的数字?

php - Notepad++ 删除内含特定文本的标签

c# - 从字符串中删除除字母以外的所有内容

loops - 如何在这种情况下使用 map ?

regex - Groovy replaceAll 替换包含美元符号的地方?

java - 正则表达式匹配连字符和逗号,并且仅在两者之间

ios - 在 NSRegularExpression 模式中使用捕获组

c - Lua 是否优化了 ".."运算符?

c - 解析特定数字

gradle - Gradle-如何从子项目中获取任务输出