http://topic.csdn.net/t/20020816/11/945699.html
看看这个

解决方案 »

  1.   


    javascript:alert('ds$de$se$dtw$se$ds'.replace(/\b(\w+)[$](?=.*?\b\1\b)/g, ''));
    - -,你要是非要保留后面的话..可以
    javascript:alert('ds$de$se$dtw$se$ds'.split('$').reverse().join('$').replace(/\b(\w+)[$](?=.*?\b\1\b)/g, '').split('$').reverse().join('$'));
    不过看起来很笨拙...
      

  2.   

    只需要一次正则替换就可以了
    <script type="text/javascript">
    var s="ds$de$se$dtw$se$ds";
    var temp=s.split("$")
              .sort()
              .join("$")        
              .replace(/(^|\$)(\w+)(\$\2(?=(\$|$)))+/g,"$1$2");alert(temp);
    </script>