javascript - 如何从javascript中的字符串中获取唯一字符列表?

标签 javascript regex duplicates

我有一些文本文件,每个文件都混合了西文和中文字符。我想要每个文件中出现的汉字列表。

我已经尝试过

ch = text.match(/[\u4E00-\u9FFF]/g); // unicode usual chinese characters - that'll do for me
if (ch != null) {
    alert(ch);
}

这给了我汉字列表,但有一些重复。例如:

肉,捕,兵,死,兵,半,水

对于文件

卵,水,半,水,土,木,水,清,慢,底,海,海,海,清,清,清,木,清,慢,底,清,土,半,水,水,土,半,水,土

另一个...

1) 我不需要那些逗号。哪儿来的呢? (我可以通过一次替换将它们删除,但由于我使用正则表达式,我认为如果我在正则表达式本身内解决它可能会更快。)

2)如何只获取唯一值?例如:

肉捕兵死半水

第一个文件

卵水半土木清慢底海

第二个...

最佳答案

逗号来自默认数组到字符串的转换。使用 ch.join('') 将数组转换为字符串。

要删除重复值,请使用以下行:

ch = text.match(/([\u4E00-\u9FFF])/g);
ch = ch.filter(function (c, i) { return ch.indexOf(c) === i; }).join('');

关于javascript - 如何从javascript中的字符串中获取唯一字符列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27977382/

相关文章:

javascript - 自动完成中的变音符号

php - 正则表达式:捕获一切直到一个特定的词

javascript - 如何使用javascript中reduce函数中的属性值跳过重复对象?

c++ - 使用多个框架给出 clang : error: linker command failed with exit code 1

javascript - 如何使用Webpack预编译数据?

javascript - 如何找到支持HTML5和CSS3的智能电视?

javascript - 使用正则表达式验证电话号码不起作用

javascript - 如何使用Javascript针对0.5增量验证数字

file - Google Apps 脚本复制文件

JavaScript/AppleScript : Get current time of html video