javascript - 正则表达式删除所有重复的字符

标签 javascript regex

我正在寻找一个正则表达式,它可以删除字符串中所有重复的字符。我已经使用循环解决了这个问题。只是想知道是否有一个正则表达式可以做同样的事情。

这是我目前所拥有的:

function onlyUnique(str) {
  var re = /(.)(?=.*\1)/g
  return str.replace(re, '');
}

这个字符串:

"rc iauauc!gcusa_usdiscgaesracg"

应该这样结束:

" !_de"

最佳答案

您可以使用 Array#filterArray#indexOfArray#lastIndexOf检查元素是否重复。

var str = "rc iauauc!gcusa_usdiscgaesracg";

// Split to get array
var arr = str.split('');

// Filter splitted array
str = arr.filter(function (e) {
    // If index and lastIndex are equal, the element is not repeated
    return arr.indexOf(e) === arr.lastIndexOf(e);
}).join(''); // Join to get string from array

console.log(str);
document.write(str);

关于javascript - 正则表达式删除所有重复的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34569206/

相关文章:

javascript - CSS 在 192 行后不起作用

javascript - 如何管理容器中的 html 元素

javascript - 检查对象数组并忽略所有其他内容

JavaScript 使用正则表达式和偏移量开始

javascript - 追加后jquery事件不起作用

JavaScript : changing a value of element html

php - URL 重写解析为地址栏中的实际 URL

regex - 提取特定单词后的第一个单词

php - 如何使用 php 从 mysql 查询中提取表名?

javascript - 如何在javascript中使用正则表达式检索div中的内容