Skip to content

Instantly share code, notes, and snippets.

@jikeytang
Created June 17, 2014 02:58
Show Gist options
  • Save jikeytang/0feabec7047ac163c437 to your computer and use it in GitHub Desktop.
Save jikeytang/0feabec7047ac163c437 to your computer and use it in GitHub Desktop.
[ Javascript ] - 20140617-题目1
用正则怎样去除重复的字符串,只保留未重复的。
如:var str= "aaabbbcccddde";
结果为 abcde。
PS:
1. 回复时注意加上下面这句话,才会有语法高亮或格式缩进。
```javascript
// you code
```
2. 粘贴代码时请使用shift+tab,缩进前面的空白。
@ljkfgh2008
Copy link

var str = "aaabbbcccddde" 
var str1 = str.replace(/(.).*\1/g,"$1");
console.log(str1);

@chenfengyanyu
Copy link

function removeRepeat(str){
    var reg = /(.)(?=.*\1)/g;
    var result = str.replace(reg, "");
    console.log(result);
}
removeRepeat("aaabbbcccddde");//输出abcde
removeRepeat("aaabbbcccdded");//输出abced

参考链接:http://blog.sina.com.cn/s/blog_65c2ec5e0101j133.html
ps:1楼,如果将字符串末尾的de交换顺序,你的输出abcd。恐怕不对吧

@ljkfgh2008
Copy link

var str = "aaabbbcccdded" 
var str1 = str.replace(/([.\s\S]{1})(?:\1+)/g,'$1');
console.log(str1);

楼上~这样正确么

@chenfengyanyu
Copy link

@ljkfgh2008 嘿嘿,正则一塌糊涂,我是来凑热闹的

@ljkfgh2008
Copy link

@chenfengyanyu 多谢提醒 要不然我还以为对着呢

@hjzheng
Copy link

hjzheng commented Jun 18, 2014

正则太神奇了,留爪

@wangzhiwei1888
Copy link

var str= "aaabbbcccddde";

var str1 = str.replace(/(.)\1+/g,"$1") 

console.log(str1);

@qiangspecial
Copy link

var a = "aaaabbbbccdefffa";
console.log(a.replace(/(.)(.)*?\1+/g, "$2"));

var b = "aaaabbbbccdefffa";
console.log(b.replace(/(.)\1+/g, "$1"));

@rambo-panda
Copy link

"aaabbbcccddde".replace(/(\w)(?=\w*\1)/gi,'');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment