javascript - 使用 Regex JS 删除字符串中的重复单词
问题描述
我正在尝试在 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'
有人可以帮忙吗?
解决方案
你可以简单地使用.trim()
这个。String.prototype.trim()
这将删除字符串开头和结尾的所有空格。您的最终结果将是:
const removeDuplicateWords = s => s.replace(/(\b\S.+\b)(?=.*\1)/g, "").trim();
推荐阅读
- azure-functions - 添加 Azure 存储 Blob 容器输入绑定 Azure Functions Java
- c# - 静态类中的受保护结构
- php - 重命名后 Laravel 应用程序路由不起作用
- r - 在多个数据帧的循环中使用 dplyr mutate()
- c# - 如何更改开放 ID 客户端的客户端流程
- css - 如何调整嵌入 Shiny App 中的视频位置?
- javascript - 为什么轮播不渲染图像?React 中的嵌套映射有什么问题?
- r - 删除基于多列的重复项,但通过最少的 NA 选择重复项的“最”完整版本
- spring - OneToMany:无法添加或更新子行:外键约束失败
- maven - 如何使 Maven 目标在 IntelliJ 中可见