首页 > 解决方案 > 如何查找忽略点或逗号的子字符串的索引

问题描述

在 Angular 中,我需要在这样的字符串中找到一个子字符串,例如 'no this is',不带点或逗号:

'不。这是...'

“你好……不,这是……”

“……不,这是……”

要查找的子字符串可以是任何文本,总是不带点或逗号,但预期的结果应该是原始文本,例如 'No. 这是'或'不,这是'。

我尝试使用正则表达式替换:

const regex = /[.,]/g;
const textToFind = 'no this is';
let matches = arrayOfTexts.filter(c => c.toLowerCase().replace(regex, '').includes(textToFind.toLowerCase()));

此代码正在查找匹配行,但我需要获取原始文本。

标签: javascriptregex

解决方案


更具体的正则表达式会起作用吗?
您可以对这样的事情进行匹配替换

/(no)[., ]*(this)[., ]*(is)/

注意:您可能想要使用ignoreCase 标志

沙盒:https ://regex101.com/r/NNCXlu/2


推荐阅读