gpt4 book ai didi

javascript - 如何使用 javascript 查找字符串中的确切子字符串

转载 作者:行者123 更新时间:2023-11-28 14:59:28 35 4
gpt4 key购买 nike

var str = "Hello World +1 new test Good Morning";
var subStr = "+1 new test";

我希望代码片段仅在字符串 str 中找到整个短语(即“+1 new test”)时返回 true。我尝试过正则表达式和匹配、搜索、测试选项。但是,没有人为我工作。它显示“+”错误。

下面是我正在使用的 -

    var HVal = "Hello World +1 Good"
var HValNew = HVal.toString().toUpperCase();
var probStr = "Hello World";
var test = probStr.toUpperCase();
var re = new RegExp('\\b'+test+'\\b');
re.test(HValNew);

当 probStr 是包含字母数字字符的字符串时,这有效,但当它包含特殊字符时,例如,则失败。 “+”、“?”

我找到了与短语完全匹配的答案

        var str = "Hello World +1 new test Good Morning".toString().toUpperCase();
var subStr = "+1 new test".toString().toUpperCase();
escapeSpecialChars = function(string) {return string.replace(/[-\/\\^$*+?.()|[\]{}]/g, 'x')};
var probStr = escapeSpecialChars(subStr);
var strNew = escapeSpecialChars(str);
var re = new RegExp("\\b"+probStr+"\\b");
re.test(strNew);

当 subStr = "+1 new test"时返回 true,当 subStr = ""+1 new te"时返回 false(即在部分短语的情况下)。

最佳答案

使用includes() ES6 中的函数,以及 indexOf()ES5

includes - 如果 subStr 位于 str 中,将返回 true

indexOf - 如果未找到匹配项,将返回 -1;如果找到 subStr,将返回 index ,从 subStr 开始的地方开始。

示例

var str = "Hello World +1 new test Good Morning";
var subStr = "+1 new test";

console.log(str.includes(subStr)); // ES6

console.log(str.indexOf(subStr) !== -1); // ES5

关于javascript - 如何使用 javascript 查找字符串中的确切子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41670443/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com