求一个正则表达式?

var str='广州,北京,广州,上海,深圳';
我想把相同地地址留一个:结果为:'广州,北京,上海,深圳'
---------------------------------------------------------------

用正则恐怕写不出来吧?用脚本的如下:

var str="广州,北京,广州,上海,深圳,北京,广州,上海,深圳,北京,广州,上海,深圳";
var ar = str.split(",");
var hash = new Object();
for (var i=0;i

 1<ar.length;i++) (r[r.length-1]!="ar[i])" (var="" --="" 02="" 04="" 2003="" ;="" <!--="" \---------------------------------------------------------------="" alert(r.join(","))="" alert(result)="" ar='str.split(",").sort();' ar[ar.length]="i;" by="" derek.f="" for="" hash)="" hash[ar[i]]="true;" http:="" i="0;i&lt;ar.length;i++)" if="" in="" mindon.topcities.com="" r="[ar[0]];" r[r.length]="ar[i];" result='ar.join(",");' str="广州,北京,广州,上海,深圳,北京,广州,上海,深圳,北京,广州,上海,深圳" var="" 呵呵,还是用常规方法吧:="">
 2<script language="JavaScript">   
 3<!--   
 4  
 5// s 可以是数组或者带分隔符的字符串   
 6// x 原分隔符 (可省略,缺省为逗号,)   
 7// y 目标串分隔符 (可省略,缺省为x)   
 8function uniqs(s,x,y)   
 9{   
10var s, x, y, n=0, tmp=[], uni=[];   
11if(!x) x = ",";   
12if(!y) y = x;   
13if(typeof(s) == "object") s = s.join(x);   
14s += x;   
15var rexp = new RegExp("([^" +x +"\\\s]+)(\\\s*" +x +"\\\s*)+", "g");   
16s = s.replace(rexp, "tmp[\"$1\"]=\"$1\";");   
17eval(s);   
18for(var k in tmp) uni[n++] = tmp[k];   
19return uni.join(y);   
20}   
21  
22alert(uniqs("广州 , 北京 , 广州,深圳, 天津 , "));   
23alert(uniqs(["广州", " 北京", " 广州 ", "深圳 ", " 天津 "]));   
24  
25//-->   
26</script>   
27此函数能处理空字符,数组和不同分隔符的串,并生成指定分隔符的串。   
28!!!!!绝对值的珍藏!!!!!!!</ar.length;i++)>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus