【问题标题】:Remove duplicate words in a string using Regex JS [duplicate]使用 Regex JS 删除字符串中的重复单词 [重复]
【发布时间】:2018-07-10 21:13:04
【问题描述】:

我正在尝试完成 CodeWars 上的编码挑战,并且我正在尝试使用正则表达式而不是将其拆分为数组等。

我的代码是

const removeDuplicateWords = s => s.replace(/(\b\S.+\b)(?=.*\1)/g, "")

removeDuplicateWords('alpha beta beta gamma gamma gamma delta alpha beta beta gamma gamma gamma delta');            

我已经达到了它替换所有重复项的程度,但我无法摆脱开头的空白。

本机浏览器 JavaScript

=> ' alpha beta gamma delta'

有人可以帮忙吗?

【问题讨论】:

  • result.trim() (:

标签: javascript regex replace


【解决方案1】:

您可以简单地使用.trim()String.prototype.trim()

这将删除字符串开头和结尾的所有空格。您的最终结果将是:

const removeDuplicateWords = s => s.replace(/(\b\S.+\b)(?=.*\1)/g, "").trim();

【讨论】:

  • 很好的解决方案@NickAbbott,但它不适用于这种情况:Company w/e 09/06/20 083020-090620 它返回:Company w/e // 083020-090620 删除日期并仅保留 / 分隔符。这是因为它捕获了相同的数字。以下 RegEx 提供了预期结果:/(\b\S.+\b)(?=.*\b\1\b)/g
猜你喜欢
  • 2012-12-27
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 2013-12-15
  • 2013-08-11
  • 1970-01-01
相关资源
最近更新 更多