正则表达式 - 找到重复集,保留它们并删除其他所有内容

时间:2013-11-03 05:49:52

标签: regex

除了重复条目的第二次+出现之外,删除所有正则表达式是什么? 数据集用逗号分隔。

示例:这需要转换为

#20131229PV1,#20140109PV5,#20140101PV1,#20140109PV5,#20140109PV5,#20131224PV5,

这个

#20140109PV5,#20140109PV5,
经过正则表达式后

2 个答案:

答案 0 :(得分:1)

不幸的是,没有办法使用正则表达式找到重复的字符串集。你需要一个好的基于字符串的算法,并用你最喜欢的计算机语言来实现它。

答案 1 :(得分:0)

通过不同的方法(Javascript)回答

function find_duplicates(arr) {
var len=arr.length,
  out=[],
  counts={};

for (var i=0;i<len;i++) {
var item = arr[i];
var count = counts[item];
counts[item] = counts[item] >= 1 ? counts[item] + 1 : 1;
}

for (var item in counts) {
if(counts[item] > 1)
  out.push(item);
}

alert(out);
}

find_duplicates(bookcaldatesci.innerHTML.split(","));