我们获取了他的录音,用一个字符串表示,这个字符串以一个字母开头,每一个“~”符号代表一个不确定的字母。
字符串的长度并不意味着名字的长度,因为他有可能在说出凶手完整名字前就咽气了。
警方提供了一份嫌犯的名单,要你协助,根据录音,找出凶手。
结果应该为字符串,如果找不到,返回空字符串,如果找出了多个,请返回这些,并用逗号分割开来。
var suspects=['Bernard Deltheil','Peter Gone','Peter Reeves','Roland Scorsini']
sc('b~~~~~~~~~~~~~~l',suspects); //'Bernard Deltheil'
sc('p~t~r',suspects); //'Peter Gone,Peter Reeves'
sc('a~b~c~~d',suspects); //''
注意:
1.对每一个嫌犯的姓名进行匹配,要忽略大小写。
2.代码应尽可能简短
下面的实现,我使用了正则表达式,先将字符串内的“~”符号替换为“.”,再将其作为模式一部分,和姓名做匹配。
function sc(s,a){
var r = [];
a.forEach((e)=>{if(new RegExp("^" + s.replace(/~/g,"."),"i").test(e))r.push(e);});
return r.join(",");
}
Copyright © 2019- kushenhuo.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务