我有一个字符串:
var str = new Array(
"Inverted HFFSfor Primary Wrap Or Secondary Multi Wrap",
"HFFSwith PDSPbackgroud Feederlense & Product Alignerigit",
"HFFSwith Cooler JKLHbetween Feeder & Product Aligner")
如何分开ie
1) HFFS for 成为 HFFS for
2) HFFSwith 成为 HFFS
3) PDSPbackgroud 成为 PDSP背景
4) JKLH 之间 JKLH
依此类推......
我的第一个问题是:
for(var i = 0; i<_str.length; i++){
if( (/*The needed Regex*/).test(_str[i]) ){
}
}
没有成功......似乎无法进一步思考!!
请帮忙,谢谢
答案 0 :(得分:3)
ListViewItem.DataContext
不接受rgex,你可以使用这样的indexOf
。
您可以使用:
.replace
RegEx分手:
var repl = str.replace(/\B([a-z](?=[A-Z])|[A-Z](?=[a-z]))/g, '$1 ');
:断言字边界不\B
:开始捕获组#1
(
:如果前面有大写字母,则匹配小写字母[a-z](?=[A-Z])
:或|
:如果前面有小写字母,则匹配大写字母[A-Z](?=[a-z])
:结束关闭组#1 答案 1 :(得分:1)
您可以尝试这样做,捕获由多个大写字母(作为一个组)和小写字母(作为另一个组)组成的单词,然后在两个组之间添加一个空格:
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"))
)