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

我需要帮助查找与字符串数组中的特定模式匹配的字符串

例如

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

如果我想通过以下2个单独的场景找到它,我该如何抓住“为了皇帝!”

  1. 在数组中抓取以“FOR”开头的字符串

  2. 包含“EMPEROR”的数组中抓取字符串

它们必须是ES5或更低。


拉莫斯之舞
浏览 85回答 2
2回答

慕码人2483693

您可以使用正则表达式来检查与要求匹配的给定字符串。喜欢这个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})

慕村225694

如果需要支持较低版本的 IE,请使用 代替 。indexOfincludeslet 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"}))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript