在javascript中搜索字符串时跳过或忽略部分字符串



我需要一些关于这段代码的帮助:

let loc;
let ftd = "17";   //ftd = first two digits
let x = "number1701:oknumber1203:ok"

现在我想搜索这个字符串,但跳过第三位和第四位(用XX表示(。

loc = x.search(`number${ftd}XX:ok`)

这可能吗?

[编辑]

如果我运行这个代码,结果是loc="-1"(显然,因为字符串x不包含"number17XX:ok"我希望程序忽略两个XX数字。我想要的结果是x中搜索字符串的位置。

您可以使用d搜索任何数字。反斜杠也需要转义。

let ftd = "17",   //ftd = first two digits
x = "number1701:oknumber1203:ok",
loc = x.search(`number${ftd}\d\d:ok`);
console.log(loc); // found at pos 0

我想你可能想试试正则表达式

let loc;
let ftd = "17";   //ftd = first two digits
let x = "number1701:oknumber1203:ok"
const regex = /number(d{2})d{2}:ok/g
let m;
do {
m = regex.exec(x);
if (m) {
console.log(m[1]);
} 
} while (m);

最新更新