我有这个字符串:
燃油附加费
我喜欢变成
燃油附加费
使用正则表达式。我的匹配正则表达式如下所示
\b([A-Z])|(\s)
它为我提供了我需要的两场比赛。
然后我尝试使用这个替换正则表达式
\L\1_\2
逻辑是第一个匹配项应更改为小写,第二个匹配项应替换为 _
但是我得到的结果是
f_uel_附加费
我看起来无法隔离第二场比赛。我需要在替换正则表达式中包含 _
吗?
Here是我在 regex101.com 上尝试过的正则表达式的链接。目前正则表达式是 pcre,但我可能喜欢在 Java 中使用它。
最佳答案
\b([A-Z])([a-z]*)(\s)
\L\1\2_
因为您想要在前两个匹配后使用下划线。
关于java - 使用正则表达式将第一个字符小写并空格下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43964186/