例如  北京A,北京A,南京B,南京B,上海,天津,天健,上海 
想要的结果 北京A,南京B,上海,天津 应该用正则表达式写可是我不会,向大家请教

解决方案 »

  1.   

    我也不会正则,这样可以不
    把字符串搞成数组!过滤重复就简单了:
    http://topic.csdn.net/t/20020816/11/945699.html
      

  2.   

    <script>   
      oldArray   =   [1,2,1,3,3,4,5,5,6,7,2,2,9,8,9]   
      var   str   =   oldArray.join("   ");   
      var   reg   =   /([^   ]+)(.*)   \1/g;   
      while(str.match(reg))str=str.replace(reg,"$1$2")   
      alert(str.split("   "));   
      </script>  我看了这个str.replace(reg,"$1$2")   的 $1$2 是什么意思
      

  3.   


    <script type="text/javascript">
    var str = "北京A,北京A,南京B,南京B,上海,天津,天健,上海";
    var arr = [];
    str = str.replace(/([^,]*)/g, function($0, $1, i){
    if(str.indexOf($1) == i) arr[arr.length] =  $1;
    });
    document.write(arr.join(','));
    </script>
      

  4.   

    str.replace(/([^,]*)/g, function($0, $1, i)是不是javascript 一个固定的用法,如果要是的话我就可以明白了,不知道是不是
      

  5.   

    正则表达式中括号代表一个匹配串。比如 /(s1)(s2)(s3)/
    匹配后,$0表示整个串,$1则代表其中的s1,$2则代表其中的s2..以此类推
      

  6.   


    var str="北京A,北京A,南京B,南京B,上海,天津,天健,上海"
    var reg=/((.+)(,+.+)*,*)\2/g;
    while(str!=(str=str.replace(reg,"$1")));
    alert(str)