js字符串去除連續重復字符
()和\number 配合使用表示重復正則第number個括號內匹配到的內容,如:(\d)\1表示重復第一個匹配塊(\d)即等價於如果(\d)匹配到a,則表達式為aa
相應的可以:(some)\1* 或(some)\1+或(some)\1? 表示重復第一個匹配快得到的內容 任意次或者 至少一次或 一次or零次
1 var s = "1122333455"; 2 3 var s1 = s; 4 var c; 5 var cc = s.match(/(\d)\1+/g); //11,22,333,55 當然這里用()\1*也會可以(因為下面是替換):11,22,333,4,55 6 for(var i = 0;i<cc.length;i++){ 7 8 c = cc[i].substring(0,1); 9 s1 = s1.replace(cc[i],c); 10 11 } 12 13 alert(s1); //12345
js字符串去除全部重復字符,並把最終字符串排序
1 var s = "1234321abaccc"; 2 var s1 = s.split("").sort().join(""); 3 var cc = s1.match(/(.)\1+/g); //11,22,33,aa,ccc 當然這里用()\1*也會可以(因為下面是替換):11,22,33,4,aa,b,ccc 4 for(var i = 0;i<cc.length;i++){ 5 6 c = cc[i].substring(0,1); 7 s1 = s1.replace(cc[i],c); 8 9 } 10 11 alert(s1); //1234abc