Javascript:计算第一个字符串在第二个字符串中出现的次数
我尝试过几种不同的方法,每次都遇到问题 我最初的做法是:Javascript:计算第一个字符串在第二个字符串中出现的次数,javascript,Javascript,我尝试过几种不同的方法,每次都遇到问题 我最初的做法是: function solve(a,b) { var re = new RegExp(b,"g"); var res = a.match(re); console.log(res); } solve("zaz","zazapulz") //returns null 这种方法也是: function solve(a,b) { String.prototype.count=function(c) { var result = 0
function solve(a,b) {
var re = new RegExp(b,"g");
var res = a.match(re);
console.log(res);
}
solve("zaz","zazapulz") //returns null
这种方法也是:
function solve(a,b) {
String.prototype.count=function(c) {
var result = 0, i = 0;
for(i;i<this.length;i++)if(this[i]==c)result++;
return result;
};
console.log(a.count(b));
}
solve("zaz","zazapulz") //returns 0
函数求解(a,b){
String.prototype.count=函数(c){
var结果=0,i=0;
对于(i;i使用split
function solve(a,b) {
return b.split( a ).length - 1;
}
演示
函数求解(a,b){
返回b.split(a).长度-1;
}
log(solve(“zaz”、“zazapulz”))
使用split
function solve(a,b) {
return b.split( a ).length - 1;
}
演示
函数求解(a,b){
返回b.split(a).长度-1;
}
log(solve(“zaz”,“zazapulz”))
函数求解(a,b){
var re=新的RegExp(a,“g”);//---+
//|开关变量a | b
var res=b.匹配(re);//---+
控制台日志(res);
}
求解(“zaz”,“zazapulz”)//日志[“zaz”]
函数求解(a,b){
var re=新的RegExp(a,“g”);//---+
//|开关变量a | b
var res=b.匹配(re);//---+
控制台日志(res);
}
solve(“zaz”、“zazapulz”)//logs[“zaz”]
如果要计算匹配项(包括重叠的匹配项),可以迭代使用:
函数求解(a,b){
变量计数=0
var from=0
while((from=b.indexOf(a,from)+1)!==0){
计数++
}
console.log(计数)
}
解算('zaz','zazapulz')
solve('zaz','zazazaz')
如果要计算匹配项(包括重叠的匹配项),可以迭代使用:
函数求解(a,b){
变量计数=0
var from=0
while((from=b.indexOf(a,from)+1)!==0){
计数++
}
console.log(计数)
}
解算('zaz','zazapulz')
solve('zaz','zazazaz')
solve('zaz','zazaz')应该返回什么
return?1?或2?这是来自js挑战网站的,他们希望它返回2个应该solve('zaz','zazazaz')的可能重复项
return?1?或2?这是来自js挑战网站的,他们希望它返回2可能重复的@PatrickRoberts同意,我将在答案中指定假设。@PatrickRoberts我已经更新了答案,以考虑重叠。@PatrickRoberts同意,我将在答案中指定假设。@PatrickRoberts我已经更新了考虑重叠的答案。还要注意,当a
包含特殊正则字符时,这不起作用。还要注意,当a
包含特殊正则字符时,这不起作用。