使用javascript

这是分配给我的一个基本的家庭作业问题,我似乎从逻辑的角度不理解如何做。最后一个问题是在小写字母字符串中搜索关键字。

这是最后一个问题。

  • 问题2
  • 假设s是一串小写字符和一个搜索关键字。
  • 编写一个程序,打印出 搜索关键字出现在s。

示例:

  1. 给定s ='azcbobobegghakl',并且搜索关键字为'bob'
  2. 您的程序应打印bob发生的次数是:2

在搜索关键字之前,我已经能够使用javascript方法制作该程序,但它仅返回1次“ bob”。我遇到的问题是理解如何解决此问题的逻辑。如果这是一个字符串数组,或者是一个带空格的字符串,以便单词分开,那么我知道该怎么做。但这让我感到困惑。

这只会从字符串'azcbobobegghakl'返回1次'bob',但是教授希望它返回2次。

function searchForKeyWord(str,keyword) {
  return str.match(keyword).length;
}
ck870331 回答:使用javascript

使用索引来跟踪您最近的搜索字符串索引,如果找到了一个字符串,则增加计数器,然后如果没有找到字符串返回,则从最后找到的索引+ searchedword.length开始在子字符串中再次搜索

,

您可以构建自己的搜索功能,而不是使用正则表达式。 一个简单的循环,用于比较每次出现与关键字:

const s = 'azcbobobegghak';
const search = 'bob';

function searchForKeyWord(str,keyword) {
  if(!keyword || !str) return 0;
  
  let counter = 0;
  const l = keyword.length;
  for( let i = 0 ; i < str.length - l; i++) {
    counter += str.substring(i,i+l) === keyword ? 1 : 0;
  }
  return counter;
}


const output = searchForKeyWord(s,search);
console.log(output);

本文链接:https://www.f2er.com/3106631.html

大家都在问