javascript - 用于隔离单词/拆分单词的 JavaScript 正则表达式
问题描述
我试图在一个字符串中分隔多个单词,而不删除任何内容,并将它们形成一个数组。我正在使用 .split 方法,但找不到多个单词和包括空格的确切模式。
我的字符串是:
const testSentence = 'a foxy dog met a dogged fox';
我想将它拆分为“狗”和“狐狸”这两个词,所以我得到了数组:
['a foxy ','dog',' met a dogged ','fox']
我尝试了各种组合,但没有任何东西适用于所有部分,所以任何指针都将不胜感激。
解决方案
结合单词边界使用非捕获组可以做到:
const s = 'a foxy dog met a dogged fox';
const r = s.split(/(?:\b(dog|fox)\b)/);
console.log(r);
如果空段困扰您,您可以轻松地将它们过滤掉:
const s = 'a foxy dog met a dogged fox';
const r = s.split(/(?:\b(dog|fox)\b)/).filter(x => x);
console.log(r);
推荐阅读
- multithreading - Actix 系统,多个仲裁器 = 多少个线程
- list - 滚动到屏幕底部时按部分加载列表 - Condename one
- python - 读取 .csv 列并在相应字符串旁边写入结果/值?
- reactjs - 即使我使用 AWS Amplify 成功登录,为什么还会出现 invalid_grant 错误?
- python-3.x - 针对特定用户的禁止字词
- c - 循环级前缀和:弄乱了部分和
- javascript - 转换 Rails TimeZone 以在 Javascript Day.js 中使用
- flutter - 杀死时将颤振应用程序恢复到原始状态
- java - 遍历 ArrayList:for 循环中的 if 语句被完全忽略
- mysql - MYSQL ALL 来自第一个表的行并使用 where 子句连接来自其他表的列