首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从javascript中的字符串中获取唯一字符列表?

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

Stack Overflow用户
提问于 2015-01-16 04:38:37
回答 4查看 173关注 0票数 0

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

我试过了

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

这给了我汉字的清单,但有一些重复。例如:

代码语言:javascript
复制
肉,捕,兵,死,兵,半,水

为了一个文件

代码语言:javascript
复制
卵,水,半,水,土,木,水,清,慢,底,海,海,海,清,清,清,木,清,慢,底,清,土,半,水,水,土,半,水,土

另外一个..。

我不需要那些逗号。他们从哪里来的?(我可以用一个替换来去掉它们,但是由于我使用regex,我认为如果在regex内部解决它,它可能会更快。)

2)如何才能得到唯一的价值?例如:

代码语言:javascript
复制
肉捕兵死半水

对于第一个文件

代码语言:javascript
复制
卵水半土木清慢底海

为了第二个..。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-01-16 05:26:42

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

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

代码语言:javascript
复制
ch = text.match(/([\u4E00-\u9FFF])/g);
ch = ch.filter(function (c, i) { return ch.indexOf(c) === i; }).join('');
票数 2
EN

Stack Overflow用户

发布于 2015-01-16 05:30:18

代码语言:javascript
复制
Array.prototype.getUnique = function(){
   var u = {}, a = [];
   for(var i = 0, l = this.length; i < l; ++i){
      if(u.hasOwnProperty(this[i])) {
         continue;
      }
      a.push(this[i]);
      u[this[i]] = 1;
   }
   return a;
}


ch = text.match(/([\u4E00-\u9FFF])/g);
var result_string = ch.getUnique().join("");
票数 2
EN

Stack Overflow用户

发布于 2015-01-16 05:36:21

试试这个:

代码语言:javascript
复制
var text    =   "卵水半水土木水清慢底海海海清清清木清慢底清土半水水土半水土",


    re      =   /([\u4E00-\u9FFF])/g,
    unique  =   {},
    chars   =   "", c;

while(c = re.exec(text)){
    if(!unique[c[0]]){
        chars += c[0];
        unique[c[0]] = true;
    }
}
chars.split("");

返回:

代码语言:javascript
复制
["卵", "水", "半", "土", "木", "清", "慢", "底", "海"]

是的,您看到的逗号是当浏览器将数组类型转换为字符串时:它将每个值的字符串表示与逗号连接在一起。我猜这是在您的原始示例中调用“警报”时产生的,它被提供了一个数组(从字符串的"Match“方法返回)。

传统浏览器不支持数组的“过滤器”方法,但是它很容易填充(如果您只关注支持代理(比如IE9),当然也不需要这样做)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27977382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档