首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript将UpperCase与lowerCase分离

javascript将UpperCase与lowerCase分离
EN

Stack Overflow用户
提问于 2017-07-24 13:59:11
回答 2查看 964关注 0票数 1

我有一根绳子,就像:

代码语言:javascript
复制
var str = new Array( 
"Inverted HFFSfor Primary Wrap Or Secondary Multi Wrap",
"HFFSwith PDSPbackgroud Feederlense & Product Alignerigit",
"HFFSwith Cooler JKLHbetween Feeder & Product Aligner")

如何分离,即

1) HFFSfor将成为的HFFS

2) HFFSwith将与一起成为HFFS

3) PDSPbackgroud成为PDSP背景

4) JKLHbetween在之间成为JKLH

等等..。

我的第一任主管是这样的:

代码语言:javascript
复制
for(var i = 0; i<_str.length; i++){ 
if( (/*The needed Regex*/).test(_str[i]) ){


     }  
}

没有成功..。似乎不能再想下去了!!

请帮忙,谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-24 14:11:49

indexOf不接受rgex,您可以像这样使用.replace

您可以使用:

代码语言:javascript
复制
var repl = str.replace(/\B([a-z](?=[A-Z])|[A-Z](?=[a-z]))/g, '$1 ');

RegEx演示

RegEx分手:

  • \B:断言单词边界不存在的位置
  • (:开始捕获组#1
    • [a-z](?=[A-Z]):如果前面有大写字母,则匹配小写字母
    • |:或
    • [A-Z](?=[a-z]):如果前面有小写字母,则匹配大写字母

  • ):终结组#1
票数 3
EN

Stack Overflow用户

发布于 2017-07-24 14:09:01

您可以尝试这样做,捕获由多个大写字母(作为一个组)和小写字母(作为另一个组)组成的单词,然后在两个组之间添加一个空格:

代码语言:javascript
复制
var str = new Array( 
"Inverted HFFSfor Primary Wrap Or Secondary Multi Wrap",
"HFFSwith PDSPbackgroud Feederlense & Product Alignerigit",
"HFFSwith Cooler JKLHbetween Feeder & Product Aligner")

console.log(
  str.map(s => s.replace(/([A-Z]{2,})([a-z]+)/g, "$1 $2"))
)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45282583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档