有一个字符串
DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329,DP66,123,176_1322030188335,254,181_1322030188338,183,185_1322030188342,199,217,218_1322030188348,DP61,DP68,197,201,202,DP70,197_1322030188362,236_1322030188364,DP71,197_1322030188367,218_1322030188369,189,192,205_1322030188375,206,218_1322030188378,RO66,187,194,RO65,185_1322030188556,193_1322030188558,RO64,182,253,RO62,228,RO61,121,149
我想把里面的带DP 和RO的去掉
比如
DP32,231,235,236
改成
231,235,236
然后把所有的还下划线的后面一截到,这去掉
如 231_1322030188314,232_1322030188314,233_1322030188314,234_1322030188314
改成231,232,233,234只会出去带DP和RO的数字是要去掉的
DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329
我要的结果是
231,205,198,236
其它的都要去掉
不会正则,求大虾们帮帮忙,,急,
DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329,DP66,123,176_1322030188335,254,181_1322030188338,183,185_1322030188342,199,217,218_1322030188348,DP61,DP68,197,201,202,DP70,197_1322030188362,236_1322030188364,DP71,197_1322030188367,218_1322030188369,189,192,205_1322030188375,206,218_1322030188378,RO66,187,194,RO65,185_1322030188556,193_1322030188558,RO64,182,253,RO62,228,RO61,121,149
我想把里面的带DP 和RO的去掉
比如
DP32,231,235,236
改成
231,235,236
然后把所有的还下划线的后面一截到,这去掉
如 231_1322030188314,232_1322030188314,233_1322030188314,234_1322030188314
改成231,232,233,234只会出去带DP和RO的数字是要去掉的
DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329
我要的结果是
231,205,198,236
其它的都要去掉
不会正则,求大虾们帮帮忙,,急,
<%
s = "DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329"Set re = New RegExp
re.Global = True
re.Pattern = "(DP\d+)|(RO\d+)|(_\d+)"
s = re.Replace(s, "")
re.Pattern = "\,+"
s = re.Replace(s, ",")
a = Split(s, ",")
Set dic = CreateObject("Scripting.Dictionary")
For i = 0 To UBound(a)
If a(i)<>"" Then
If Not dic.Exists(a(i)) Then dic.Add CStr(a(i)), a(i)
End If
Next
aItem = dic.Items
Set dic = Nothings = Join(aItem, ",")Response.Write s
%>
var arr = str.split(',');
for(var i = 0; i < arr.length; i++){
if(/DP|RO/.test(arr[i])){
arr.splice(i, 1);
i--;
}else{
arr[i] = arr[i].replace(/\_.*/, '');
}
}
alert(arr.join(','));
str = str.replace(re,'')
var arr = str.split(',');
for(var i = 0; i < arr.length; i++){
if(/DP|RO/.test(arr[i])){
arr.splice(i, 1);
i--;
}else{
arr[i] = arr[i].replace(/\_.*/, '');
}
}
var ret = arr.join(',').replace(/(?=^\,)([^,]+),(?=.+\1)/g, "");
return ret;
}
var str = 'DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329';
alert(filter(str));
var str='DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329,DP66,123,176_1322030188335,254,181_1322030188338,183,185_1322030188342,199,217,218_1322030188348,DP61,DP68,197,201,202,DP70,197_1322030188362,236_1322030188364,DP71,197_1322030188367,218_1322030188369,189,192,205_1322030188375,206,218_1322030188378,RO66,187,194,RO65,185_1322030188556,193_1322030188558,RO64,182,253,RO62,228,RO61,121,149';
str+=',';
str=str.replace(/(?:DP|RO)[^,]+,/g,'');
str=str.replace(/([0-9]{3})_[^,]+/g,'$1');
str=str.replace(/,$/,'');
var ss=str.split(',');
var s='';
var k;
var len=ss.length;
LP:
for(var i=0;i<len;i++){
for(var j=i+1;j<len;j++){
if(ss[i]==ss[j]){
continue LP;
}
}
s+=ss[i]+',';
}
s=s.replace(/,$/,'');
alert(s);
alert(str.replace(/(?:DP|RO)[^,]*(?:,|$)|_[^,]*|(?=^|,)([^,]+),(?=.+\1)/gi, ''));
var s = "DP32,231_1322030188314,DP51,DP60,DP63,205,DP64,198,DP65,236_1322030188329"
var re =/(DP\d+)|(RO\d+)|(_\d+)/g;
s = s.replace(re, "");
re = /\,+/g
s = s.replace(re, ",")
var a = s.split(",");
var b = [];
for(var i = 0; i<a.length;i++){
if(a[i]!=""){
var f = false;
for(var j=0;j<b.length;j++){
if(b[j]==a[i]){f = true; break;}
}
if(!f) b.push(a[i]);
}
}s = b.join(",")alert(s)
str = str.replace(/(?:DP|RO)[^,]*(?:,|$)|_[^,]*/gi, ''); //删字段
str = str.replace(/(?=^|,)([^,]+),(?=.+\1)/g, ''); //去重复
alert(str);
str = str.replace(/(?:DP|RO)[^,]*(?:,|$)|_[^,]*/gi, ''); //删字段
str = str.replace(/(?=^|,)([^,]+),(?=.+,\1(?:,|$))/g, ''); //去重复
alert(str);
但是我想说,最后的这个,在去重复的时候,有些没能去掉
这是原始数据
DP51,DP60,DP63,205,DP64,198,DP65,236_1322034816304,DP66,123,176_1322034816311,254,181_1322034816315,183,185_1322034816319,199,217,218_1322034816325,DP61,DP68,197,201,202,DP70,197_1322034816338,236_1322034816339,DP71,197_1322034816343,218_1322034816346,189,192,205_1322034816351,206,218_1322034816355这是去重复后的
198,236,123,176,254,181,183,185,199,217,218,197,201,202,197,236,197,218,189,192,205,206,218
197出现3次,218出现2次
str = str.replace(/(?:DP|RO)[^,]*(?:,|$)|_[^,]*/gi, ''); // 删字段
str = str.replace(/(^\d+|,\d+)(?=.*\1(?:,|$))/g, ''); // 去重复
alert(str);