在编辑器(例如Rubymine或IntelliJ)中给出如下所示的一串字符串:
列表:[“必填”,“进入时的待定待办事项”,“呼吸器,手套,工作服等”]
如何使用内置的正则表达式搜索和替换将首字母字母转换为大大小写?
对此:
列表:[“必填”,“进入时待定”,“呼吸器,手套,工作服等”。
注意:“ TBD”应保持为“ TBD”而不是“ Tbd”
答案 0 :(得分:2)
(我认为IntelliJ和RubyMine具有有效的Java regex规则。)
(为了我未来的自己),我使用了以下正则表达式:
搜索:"(?)([a-z])
替换:"\U$1\E
顺便说一句:无法弄清为什么还要选择大写字母。 (耸耸肩)
成功了!
答案 1 :(得分:2)
您可以匹配任何以"
开头的小写字母:
搜索:(?<=")\p{Ll}
替换:\U$0
请参见regex demo。选中 区分大小写 ,以确保仅匹配小写字母。
详细信息
(?<=")
-向后看的肯定,确保前面的字符为"
\p{Ll}
-任意Unicode小写字母。请注意,\U
-大写转换运算符-如果不需要限制尾随\E
,并且$0
后向引用是整个匹配值,则不需要用捕获组包装整个模式。