我在JavaScript中有一个正则表达式,用以下代码(此代码来自这里)来将我的驼峰字符串按大写字母拆分:
"MyCamelCaseString"
.replace(/([A-Z])/g, ' $1')
.replace(/^./, function(str){ return str.toUpperCase(); })
因此返回:
"My Camel Case String"
这很不错。但是,我想再进一步。有人能帮我写一个正则表达式吗?只有在前一个字符为小写字母且后一个字符为大写字母时才进行分割。
因此,上述示例将得到我期望的结果,但如果我输入:
"ExampleID"
然后我得到返回:
"Example ID"
不是
"Example I D"
因为它会在每个大写字母处进行分割,忽略之前的任何内容。
希望这样说起来有意义!谢谢 :)
replace(/([a-z])([A-Z])/g, '$1 $2')
。 (将小写字母和大写字母之间的空格替换为一个空格) - urzeit