str = "2008008381|2008008382|2008008383|2008008384|2008008385|2008008381|2008008382|2008008388|2008008389|2008008393"
str_a = Split(str, "|")
Set dic = CreateObject("Scripting.Dictionary")
For i=0 To UBound(str_a)
If Not dic.exists(str_a(i)) Then
dic.Add str_a(i),str_a(i)
End If
Next
arr =dic.Items()
Set dic = Nothing

解决方案 »

  1.   

    还可以<script   language="javascript"   runat=server> 
    function delnum(num)
    {
    var strTextArr=num.toString().split("|").sort();
    return strTextArr.unique().join("|");
    }
    Array.prototype.unique = array_unique;
    function array_unique()
    {
     var o = new Object();
     for (var i=0,j=0; i<this.length; i++)
     {
      if (typeof o[this[i]] == 'undefined')
      {
       o[this[i]] = j++;
      }
     }
     this.length = 0;
     for (var key in o)
     {
      this[o[key]] = key;
     }
     return this;
    }</script>
    <%
    str = "2008008381|2008008382|2008008383|2008008384|2008008385|2008008381|2008008382|2008008388|2008008389|2008008393"
    Response.Write   delnum(str) 
    %>
      

  2.   


         var str = '2008008381|2008008382|2008008383|2008008384|2008008385|2008008381|2008008382|2008008388|2008008389|2008008393 ';
             var temp = str.split('|');
             var result = [];
             var oo = {};
             for(var i in temp)
             {
                if(!oo[temp[i]])
                {
                    result.push(temp[i]);
                    oo[temp[i]] = temp[i];
                }  
             }
             alert(result.join('|'));
      

  3.   

    function filterReduplicated(strArr) {
                var arr = strArr.split(/\|/);
                var resultArr = [];
                for (var i = 0; i < arr.length; i++) {
                    var existed = false;
                    for (var j = 0; j < resultArr.length; j++) {
                        if (resultArr[j] == arr[i]) {
                            existed = true;
                            break;
                        }
                    }
                    if (existed) continue;
                    resultArr.push(arr[i]);
                }
                return resultArr.join('|');
            }
            var str = "2008008381|2008008382|2008008383|2008008384|2008008385|2008008381|2008008382|2008008388|2008008389|2008008393";
            var resultString = filterReduplicated(str);
            alert(resultString);
      

  4.   

    都用数组?
    我觉得正则比较方便哦
    我的方法是
    re=/((^|\|)(\d+)(\|\d+)*?)\|\3/
    while(re.test(s)){
    s=s.replace(re,"$1")
    }
    不知有没有不用test的方法