<script type="text/javascript">
var pat = /(.*?)([\d]:[\d])([^\2]*),\2(.*)/;
var strng = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
while (pat.test(strng)) {
strng = strng.replace(pat, "$1$2$3$4");
}
document.write(strng);
</script>
var pat = /(.*?)([\d]:[\d])([^\2]*),\2(.*)/;
var strng = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
while (pat.test(strng)) {
strng = strng.replace(pat, "$1$2$3$4");
}
document.write(strng);
</script>
<!--
var str = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
var strDelSame = "";
str.replace(/\d+:\d+[\,|$]/g,function(){
if(strDelSame.indexOf(arguments[0]) == -1)
strDelSame += arguments[0];
});
document.write(strDelSame);
//-->
</script>
var pat = /([\d]:[\d])([^\1]*),\1/;
var strng = "1:3,1:2,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
while (pat.test(strng))
strng = strng.replace(pat, "$1$2");
document.write(strng);
</script>
写麻烦啦。。这样就行了。
document.write("字符串长度:10003 个字符","<BR>");var ds = new Date().valueOf();
var strDelSame = "";str.replace(/\d+:\d+[\,|$]/g,function(){
if(strDelSame.indexOf(arguments[0]) == -1)
strDelSame += arguments[0];
});
var de = new Date().valueOf();
document.write(strDelSame,"<BR>");
document.write("time:",de-ds,"ms","<BR>");
var ds = new Date().valueOf();
var pat = /([\d]:[\d])([^\1]*),\1/;
while (pat.test(str))
str = str.replace(pat, "$1$2");
var de = new Date().valueOf();
document.write(str,"<BR>");
document.write("time:",de-ds,"ms","<BR>");
</script>
//<![CDATA[
var str=("1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2").split(',');
document.write(fDelRddcAr(str));
function fDelRddcAr (_ar){
var _ar=_ar.sort();
for (var i=0; i<_ar.length; i++){
var temp1=_ar[i];
var temp1_=_ar[i+1];
if(temp1===temp1_){ _ar.splice(i,1);};
}
if((typeof $_KhNum)=='undefined')$_KhNum=10;
if($_KhNum!==1)return fDelRddcAr(_ar, $_KhNum--);
return _ar;
} // shawl.qiu code
//]]>
</script>
//<![CDATA[
var str='1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2,1:3,1:4';
var temp=str;
var i=1
while(i<1000){
str+=temp;
i++;
}
var str=str.split(',');
document.write(fDelRddcAr(str));
function fDelRddcAr (_ar){
var temp = '';
var ='$$#@$%$%#'
_ar=_ar.join() ///.*?\$|.*?$/g
var _re=new RegExp('.*?'+.replace(/(.)/g,'\\$1')+'|.*?$','g');
var _re_=new RegExp(.replace(/(.)/g,'\\$1')+'$');
_ar.replace(_re,function(){
if(temp.indexOf(arguments[0]) == -1)
temp += arguments[0];
}
);
temp=temp.replace(_re_,'');
return temp.split();
} // shawl.qiu code
//]]>
</script>
var pat = /(.*?)([\d]:[\d])([^\2]*),\2(.*)/;
var strng = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2,12:1,100:21";
while (pat.test(strng)) {
strng = strng.replace(pat, "$1$2$3$4");
}
document.write(strng);
</script但是如果有12:1,100:21,1:20,31:109这样的,那该怎么办呢?
function formatStrng(val) {
var strng = "";
val.replace(/,?(\d+:\d+)/g, function() {
if(strng.indexOf(arguments[1]) == -1)
strng += arguments[0];
});
return strng
}
var str = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
str = formatStrng(str);
document.write(str);
//修改了下zhaoxiaoyang(梅雪香@深圳) 大哥的方法。
</script>
function formatStrng(val) {
var nstrng = ",";
val.replace(/,?(\d+:\d+)/g, function() {
if(nstrng.indexOf("," + arguments[1] + ",") == -1)
nstrng += arguments[1] + ",";
});
return nstrng.substring(1, nstrng.length - 1);
}
var str = "1:2,1:3,1:4,1:5,2:3,2:4,3:5,1:2,1:4,2:3,1:2,1:3,1:2";
str = formatStrng(str);
document.write(str);
</script>
//- -#没考虑全面,这样就应该没有问题了。。