我在 JavaScript 中有一个正则表达式,使用以下代码(我随后从 here 获得)将我的驼峰式字符串拆分为大写字母:
"MyCamelCaseString"
.replace(/([A-Z])/g, ' $1')
.replace(/^./, function(str){ return str.toUpperCase(); })
因此返回:
"My Camel Case String"
哪个好。但是,我想更进一步。有人可以帮我一个正则表达式,当且仅当前一个字符是小写字母而后者是大写字母时,它才会拆分。
因此,上面的示例将是我期望的结果,但如果我这样做:
"ExampleID"
然后我返回:
"Example ID"
代替
"Example I D"
因为它在每个大写字母处拆分并忽略它之前的任何内容。
希望这是有道理的!谢谢 :)。
最佳答案
我的猜测是将 /([A-Z])/
替换为 /([a-z])([A-Z])/
和 ' $1'
与 '$1 $2'
"MyCamelCaseString"
.replace(/([a-z])([A-Z])/g, '$1 $2');
/([a-z0-9])([A-Z])/
将数字计为小写字符
console.log("MyCamelCaseStringID".replace(/([a-z0-9])([A-Z])/g, '$1 $2'))
关于javascript - 正则表达式拆分 Camel 案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18379254/