NodeJS 无法在JS中的字符串中找到明显的匹配

lhcgjxsq  于 12个月前  发布在  Node.js
关注(0)|答案(1)|浏览(88)
Node -v
v18.17.1
  • 注意:本题中使用的短语和标题都是从源代码复制的原始字符串 *

有一个短语和一个标题。我想检查一下这个短语是否在标题中可用。很明显,它是可用的,但JS的响应像没有找到匹配,我不知道为什么(它不工作),例如:

然而,当我不使用变量时,当我复制短语和标题值并直接运行它们时,会找到匹配(它工作),例如:

let title = 'Benny Blanco, Halsey & Khalid - Eastside (Lyrics)';

title = title.toLowerCase();

let phrase = 'benny blanco';

console.log('match:', title.includes(phrase) === true ? 'found' : '404'); 

// it is working

起初我以为这只是一个空格问题,但我尝试用strings包中的collapseWhitespace()方法规范化空格,但没有任何变化。
任何帮助或建议将不胜感激。

yyhrrdl8

yyhrrdl81#

正如我所看到的,你正在使用VS Code,所以如果你在代码中手动声明标题(例如从其他地方复制粘贴),请确保启用此选项:
编辑器› Unicode亮点:不可见字符
[v]控制是否突出显示仅保留空格或完全没有宽度的字符。
或者你可以试试这个:
1.数数你的短语中的字符。
1.把标题从开头到短语的长度部分剪下来。
1.将剪切部分的输出打印到控制台,并直接与短语进行比较。
如果它们看起来仍然相同,您也可以尝试:
1.对于这两个:短语和剪切标题的一部分,将它们转换为数组,将数组中的每个字符Map到它用String.prototype.charCodeAt()表示的Unicode,并比较两个数组的输出。如果字符串确实不同,你应该找到数组中某些位置的差异。

相关问题