如何在JavaScript ES5中更简洁地拆分大写前缀+小写后缀的字符串?
更简洁的ES5字符串拆分方案
当然有更清爽的实现方式啦!针对你这种固定格式的UPPERlower字符串,给你推荐两种更简洁的写法:
方法一:单正则匹配
用一个包含分支条件的正则,一次match就能拿到结果:"ABCabc".match(/^[A-Z]+|[a-z]+$/g); // 输出 ["ABC", "abc"]原理很直观:
^[A-Z]+匹配字符串开头的所有大写字母,[a-z]+$匹配结尾的所有小写字母,全局模式g会把这两个符合条件的部分都提取出来,省去了两次调用match再拼接的步骤。方法二:正向预查拆分
利用正则的正向预查特性,直接在大写和小写的分界处拆分字符串,代码更短:"ABCabc".split(/(?=[a-z])/); // 输出 ["ABC", "abc"]这里
(?=[a-z])是正向预查,它会定位到第一个小写字母的位置但不会消耗字符,拆分后正好把大写部分和小写部分分开,完美适配你这种固定格式。
内容的提问来源于stack exchange,提问作者Frozzo
相关产品推荐
相关产品推荐

