检查字符串中是否包含一组字符串

问题描述 投票:0回答:2

我面临Angular / Typescript的问题,但是它可以应用于大多数编程语言。

我有一个巨大的文本,我们将其称为全文和一组过滤器,它们将应用于全文并知道它们是否匹配;让我更好地解释一下:

假设我们的全文是这样的

“你好!我叫玛蒂亚”

且过滤器为

[[“我的名字”,“是Mattia”]]

首先,我执行正则表达式的过滤和填充操作,应用正则表达式并替换。

document.snippet.toLowerCase().replace(/[^A-Z0-9]/ig, "");
filter.toLowerCase().replace(/[^A-Z0-9]/ig, "");

所以现在我可以避免各种误报,例如“ Mattia”和“ mattia”之间的不匹配等等。

在这一点上,答案可能是微不足道的:我只是滚动过滤器列表并使用“ include”字符串方法。但是,假设您使用“ mat”而不是“ mattia”作为过滤器。 Include使用子字符串,因此在任何情况下都将返回true。

在我的上下文中,我有一些被称为“节”的对象,这些对象通过全文中包含的罗马编号(i,ii,iii,...)进行编号。因此,在应用“ section i”过滤器的情况下,如果存在“ ... section ii ...”,“ ... section iii ...”,则所讨论的方法必须返回false。

我差点忘了,必须满足所有过滤器,因此,即使其中一个不匹配,该方法也必须返回false。

我希望我已尽可能清楚地说明问题。

我面临Angular / Typescript的问题,但是它可以应用于大多数编程语言。我有一个巨大的文本,我们将其称为全文,并使用了一组过滤器,这些过滤器适用于...

angular string typescript string-comparison
2个回答
0
投票

我建议使用word boundary正则表达式断言:


0
投票

我使用了Jan Jakub Nanista的答案,并编写了一个函数,并在其中添加了对案例的无知。

© www.soinside.com 2019 - 2024. All rights reserved.