我有两个字符串
我想要做的是,检查
一种方法是将两个字符串标记化为数组,即将
但在这种情况下,我需要速度优先,因为它应该是最快的方法。
有人知道如何检查这个吗?
我也许正在考虑一种方法,通过循环遍历这两个字符串,逐个字符地检查它们,但不确定如何实现。
谢谢
bigstring
和smallstring
,每个字符串都是一个由单词组成的段落。然而,在每个单词中间,随机长度的空格字符(\s
正则表达式)。
例如,bigstring
可能是像hello world
这样的。 smallstring
也是如此。我想要做的是,检查
smallstring
在bigstring
中是否为子字符串(逐字),其中它们之间的\s+
部分被视为相同,并且不区分大小写。例如,如果
bigstring = "hello \t\r\n world \n foobar"
smallstring = "HELLO \t world"
那么smallstring
是bigstring
的子字符串。
bigstring = "hello \t\r\n world \n foobar"
smallstring = "HEL"
这不是子字符串(逐字),因为在bigstring
中没有一个名为hel
的词。
bigstring = "the \t\r\n nest"
smallstring = "then \n est"
这也不是(逐字)子字符串。一种方法是将两个字符串标记化为数组,即将
\s+
之间的内容分解为标记,而\s+
是分隔符。然后逐字检查一个数组是否以不区分大小写的方式按顺序和连续地包含在另一个数组中。但在这种情况下,我需要速度优先,因为它应该是最快的方法。
有人知道如何检查这个吗?
我也许正在考虑一种方法,通过循环遍历这两个字符串,逐个字符地检查它们,但不确定如何实现。
谢谢
smallstring
按照/\s+/
分割并转义每个组件,然后使用"\\s+"
将其重新连接起来,动态地创建一个正则表达式,并在bigstring
上运行该正则表达式。 - Ry-