如何在JavaScript中检查包含更多单词的字符串是否包含包含更多单词的子字符串?

如何在JavaScript中检查包含更多单词的字符串是否包含包含更多单词的子字符串?,javascript,Javascript,当字符串中有一个单词,子字符串中有一个单词时,这会有很大帮助。方法includes()执行该作业。如果字符串中有多个单词,子字符串中有多个单词,你知道如何解决这个问题吗?例如: const string = "hello world"; const substring = "hel wo"; console.log(string.includes(substring)); --> //This is false, but I want to cha

当字符串中有一个单词,子字符串中有一个单词时,这会有很大帮助。方法
includes()
执行该作业。如果字符串中有多个单词,子字符串中有多个单词,你知道如何解决这个问题吗?例如:

const string = "hello world";
const substring = "hel wo";

console.log(string.includes(substring)); --> //This is false, but I want to change the code to return true
我是否应该使用
split(“”)从字符串和子字符串创建一些数组,然后以某种方式比较两个数组?

您可以在空白处拆分“子字符串”以获得要查找的所有子字符串的数组,然后使用该数组查看是否找到了所有子字符串:

const string=“hello world”;
const substring=“hel wo”;
log(substring.split(/\s+/).every(substr=>string.includes(substr))您可以在空白处拆分“子字符串”,以获得要查找的所有子字符串的数组,然后使用该数组查看是否找到了所有子字符串:

const string=“hello world”;
const substring=“hel wo”;

log(substring.split(/\s+/).every(substr=>string.includes(substr))您可以为此使用正则表达式:

var str = "hello world";
var patt = new RegExp(/.{0,}((?:hel)).{0,}((?:wo)).{0,}/ig);
console.log(patt.test(str));

您可以为此使用正则表达式:

var str = "hello world";
var patt = new RegExp(/.{0,}((?:hel)).{0,}((?:wo)).{0,}/ig);
console.log(patt.test(str));

请注意,对于
“wo-hel”
@rayhatfield Good point,这也会返回true,尽管问题不清楚它是否应该是正确的。只是一个观察。不清楚这是可取的还是有问题的。我想得越多,我就越不确定OP想要完成什么。部分词语?从什么开始?一些相同的字符?既然你提到了,他们可能也想逐字匹配。(也就是说,第一个单词应该包含第一个子字符串等)我现在就不回答了。如果他们澄清,我将更新/删除它。(如果他们不澄清,将来可能还会帮助其他人。)@Ivar这就是我所需要的,谢谢请注意,对于
“wo-hel”
@rayhatfield Good point,这也会返回true,尽管问题不清楚它是否应该是正确的。只是一个观察。不清楚这是可取的还是有问题的。我想得越多,我就越不确定OP想要完成什么。部分词语?从什么开始?一些相同的字符?既然你提到了,他们可能也想逐字匹配。(也就是说,第一个单词应该包含第一个子字符串等)我现在就不回答了。如果他们澄清,我将更新/删除它。(如果他们不澄清,将来可能还会帮助其他人。)@Ivar这就是我所需要的,谢谢