去除除数字以外的重复词

Remove duplicate words except numbers

我需要删除字符串中的重复单词,而不是数字字符。

这是我需要转换并保留数字字符的文本示例。 关于如何处理这个问题有什么建议吗?

字符串示例:“Rim - Rim Black 28H 700mm x 700mm”

  static removeDuplicateWords = (statement: string) => {
    return statement
      .split(" ")
      .filter((item, pos, self) => {
        return self.indexOf(item) === pos;
      })
      .join(" ");
  };

当前结果:- Rim Black 28H x 700mm

预期结果:- Rim Black 28H 700mm x 700mm

感谢您的帮助

使用正则表达式来测试单词是否包含数字。

static removeDuplicateWords = (statement: string) => {
  return statement
    .split(" ")
    .filter((item, pos, self) => item.match(/\d/) || self.indexOf(item) === pos)
    .join(" ");
};

根据您的示例,您可以创建一组拆分字符串并再次加入它。

console.log(Array.from(new Set("Rim - Rim Black 28H 700mm x 700mm".split(' '))).join(' '))

// print 'Rim - Black 28H x 700mm'