如何使用正则表达式(Regex)在驼峰式单词间添加空格?
用正则给驼峰式拼接单词添加空格的实现方案
完全可以通过正则表达式实现这个需求,以下是具体的解决方案:
基础场景(匹配小写字母后跟单个大写字母)
针对你给出的MyFirstword is java转My First word is java的场景,使用以下正则替换规则:
- 正则匹配模式:
(?<=[a-z])([A-Z]) - 替换为:
$1
示例操作
输入字符串:MyFirstword is java
应用正则替换后,输出结果:My First word is java
正则逻辑解释
(?<=[a-z]):正向肯定后发断言,确保当前位置的前一个字符是小写字母([A-Z]):捕获组,匹配并提取后面的大写字母- 替换时在捕获到的大写字母前添加空格,实现驼峰拆分
扩展场景(处理连续大写字母)
如果遇到类似MyHTMLCode这种包含连续大写字母的驼峰字符串,想要拆分为My HTML Code,可以使用更通用的正则:
- 正则匹配模式:
(?<=[a-z])([A-Z])|(?<=[A-Z])([A-Z][a-z]) - 替换为:
$1$2
这个正则会同时处理两种情况:小写转大写的边界,以及连续大写后接小写的边界,确保连续大写的单词也能正确拆分。
内容的提问来源于stack exchange,提问作者Nikiii
相关产品推荐
相关产品推荐

