gpt4 book ai didi

javascript - 如何找到缺少字母的匹配字符串?

转载 作者:行者123 更新时间:2023-12-03 06:54:17 24 4
gpt4 key购买 nike

我有一个带有字符串的数组:

var dict =["johndoe","johnrte","jahnaoi"]; 

我想创建一个函数(使用正则表达式或其他函数)来检查缺少字母的“str”是否适合其项目之一。缺失的字母用“#”表示。假设缺少字母的字符串是“j#hn#oe”。我是这样开始的,但我认为我不会走正确的路。

     function Checkword(str) {
// Check were is the #
var indices = [0]
for (var i = 0; i < str.length; i++) {
if (str[i] === "#") indices.push(i);
}
var regexel = "/^";

for (var index = 0; index < indices.length; index++) {
regexel.concat(str.substring(indices[index - 1], indices[index]));
regexel.concat("[a-z]");

}
regexel.concat("$/");
var reg = new Regex(regexel);

for (r = 0; r < dict.length; i++) {
if (reg.test(dict[r]) {
console.log(dict[r]);
}

}


}
Checkword("j#hn#oe");

在这种情况下,它将返回第一个和最后一个项目。

*** 评论后编辑:

哪个词应该通过我的测试:

If str is j#hndo#=> dict[0], dict[2].
If str is j####### => dict[0], dict[1], dict[2];
IF str is Jonh#oe=> dict[0]
if str is a#ze#ts=> nothing.

最佳答案

感谢评论,这是比预期容易得多的答案。谢谢!

var dict =["johndoe","johnrte","jahnaoi"]; 

var dict =["johndoe","johnrte","jahnaoi"];

function ismissing(str){

while(str.indexOf("#")>0){
str=str.replace('#', '[a-z]{1}');
}

var reg=new RegExp(str);
console.log(reg);

for(i=0;i<dict.length;i++){

if(reg.test(dict[i]))
{console.log(dict[i])};
}


}
ismissing("j#hn#o#");

输出=>

/j[a-z]{1}hn[a-z]{1}o[a-z]{1}/
johndoe
jahnaoi
undefined

关于javascript - 如何找到缺少字母的匹配字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37353641/

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