如何使用正则表达式将字符串的首字母转换为大写
How to use Regex to convert initial letter of a string to upper case
在编辑器(例如 Rubymine 或 IntelliJ)中给定一堆字符串,如下所示:
list: ["required","TBD at time of entry", "respirator, gloves, coveralls, etc."]
如何使用内置的正则表达式搜索和替换将 initial 字母转换为 upper 大小写?
为此:
list: ["Required","TBD at time of entry", "Respirator, gloves, coveralls, etc."]
请注意:"TBD" 应保留为 "TBD" 而不是 "Tbd"
(我认为 IntelliJ 和 RubyMine 有 Java 有效的正则表达式规则。)
(为了我未来的自己)我使用了以下正则表达式:
搜索:"(?)([a-z])
替换:"\U\E
顺便说一句:无法弄清楚为什么还选择了大写字母。 (耸肩)
成功了!
您可以匹配前面带有 "
:
的任何小写字母
搜索: (?<=")\p{Ll}
替换:\U[=12=]
参见regex demo。检查 大小写匹配 以确保只匹配小写字母。
详情
(?<=")
- 确保前面的字符是 "
的正后视
\p{Ll}
- 任何 Unicode 小写字母。
请注意 \U
- 大写转换运算符 - 如果您不需要限制其范围并且 [=18=]
反向引用指的是整个匹配值,则不需要尾随 \E
,否需要用捕获组包裹整个模式。
在编辑器(例如 Rubymine 或 IntelliJ)中给定一堆字符串,如下所示:
list: ["required","TBD at time of entry", "respirator, gloves, coveralls, etc."]
如何使用内置的正则表达式搜索和替换将 initial 字母转换为 upper 大小写?
为此:
list: ["Required","TBD at time of entry", "Respirator, gloves, coveralls, etc."]
请注意:"TBD" 应保留为 "TBD" 而不是 "Tbd"
(我认为 IntelliJ 和 RubyMine 有 Java 有效的正则表达式规则。)
(为了我未来的自己)我使用了以下正则表达式:
搜索:"(?)([a-z])
替换:"\U\E
顺便说一句:无法弄清楚为什么还选择了大写字母。 (耸肩)
成功了!
您可以匹配前面带有 "
:
搜索: (?<=")\p{Ll}
替换:\U[=12=]
参见regex demo。检查 大小写匹配 以确保只匹配小写字母。
详情
(?<=")
- 确保前面的字符是"
的正后视
\p{Ll}
- 任何 Unicode 小写字母。
请注意 \U
- 大写转换运算符 - 如果您不需要限制其范围并且 [=18=]
反向引用指的是整个匹配值,则不需要尾随 \E
,否需要用捕获组包裹整个模式。