为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript ES5:在数组中查找与模式匹配的字符串

Javascript ES5:在数组中查找与模式匹配的字符串

拉莫斯之舞 2022-09-02 20:51:10
我需要帮助查找与字符串数组中的特定模式匹配的字符串例如var array = ['hello there heretic', "purge the alien", "FOR THE EMPEROR!!" ]如果我想通过以下2个单独的场景找到它,我该如何抓住“为了皇帝!”:在数组中抓取以“FOR”开头的字符串在包含“EMPEROR”的数组中抓取字符串它们必须是ES5或更低。
查看完整描述

2 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您可以使用正则表达式来检查与要求匹配的给定字符串。喜欢这个


var regEx = /(^FOR)|(.*EMPEROR.*)/i;

var array = ['hello there heretic', "purge the alien", "FOR THE EMPEROR!!" ]


array.filter(function(str) { return regEx.test(str) }) // ["FOR THE EMPEROR!!"]


对于区分大小写的,在正则表达式中删除 i,例如:/(^FOR)|(.*EMPEROR.*)/


var regEx = /(^FOR)|(.*EMPEROR.*)/i;

var array = ['hello there heretic', "purge the alien", "FOR THE EMPEROR!!", "For the champion", "And the EMPEROR" ]


const result = array.filter(function(str) { return regEx.test(str) })

console.log({result})


查看完整回答
反对 回复 2022-09-02
?
慕村225694

TA贡献1880条经验 获得超4个赞

如果需要支持较低版本的 IE,请使用 代替 。indexOfincludes


let array = ['hello there heretic', "purge the alien", "FOR THE EMPEROR!!"];


console.log(array.filter( function(el) {

    return el.indexOf("EMPEROR") > -1 && el.split(" ")[0] == "FOR"

}))


查看完整回答
反对 回复 2022-09-02
  • 2 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信