簡體   English   中英

javascript Regex從lowerCase拆分UpperCase

[英]javascript Regex split UpperCase from lowerCase

我有一個像這樣的字符串:

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 for

2) HFFSwith成為HFFS with

3) PDSPbackgroud成為PDSP背景

4) JKLHbetween成為JKLHbetween

等等...

我的第一個本能是這樣的:

for(var i = 0; i<_str.length; i++){ 
if( (/*The needed Regex*/).test(_str[i]) ){


     }  
}

沒有成功...。似乎無法再考慮了!!

請幫忙,謝謝

indexOf不接受rgex,您可以使用.replace這樣。

您可以使用:

var repl = str.replace(/\B([a-z](?=[A-Z])|[A-Z](?=[a-z]))/g, '$1 ');

正則演示

正則表達式分解:

  • \\B :聲明單詞邊界不存在的位置
  • ( :開始捕獲#1組
    • [az](?=[AZ]) :如果前面有大寫字母,則匹配小寫字母
    • | : 要么
    • [AZ](?=[az]) :如果前面有小寫字母,則匹配大寫字母
  • ) :結束組#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(/([AZ]{2,})([az]+)/g, "$1 $2")) ) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM