Javascript 检查字符串在字符串中的次数
我得到了这个字符串:Javascript 检查字符串在字符串中的次数,javascript,Javascript,我得到了这个字符串: var longText="This is a superuser test, super user is is super important!"; 我想知道字符串“su”在长文中出现了多少次,以及每个“su”的位置 我试着: var nr4 = longText.replace("su", "").length; 主文本和nr4之间的长度差除以“su”lenght being 2会导致多次重复,但我打赌有更好的方法。可以做到: var indexesOf = fun
var longText="This is a superuser test, super user is is super important!";
我想知道字符串“su”在长文中出现了多少次,以及每个“su”的位置
我试着:
var nr4 = longText.replace("su", "").length;
主文本和nr4之间的长度差除以“su”lenght being 2会导致多次重复,但我打赌有更好的方法。可以做到:
var indexesOf = function(baseString, strToMatch){
var baseStr = new String(baseString);
var wordLen = strToMatch.length;
var listSu = [];
// Number of strToMatch occurences
var nb = baseStr.split(strToMatch).length - 1;
for (var i = 0, len = nb; i < len; i++){
var ioF = baseStr.indexOf(strToMatch);
baseStr = baseStr.slice(ioF + wordLen, baseStr.length);
if (i > 0){
ioF = ioF + listSu[i-1] + wordLen;
}
listSu.push(ioF);
}
return listSu;
}
indexesOf("This is a superuser test, super user is is super important!","su");
return [10, 26, 43]
var indexesOf=function(baseString,strotomatch){
var baseStr=新字符串(baseString);
var-wordLen=strToMatch.length;
var listSu=[];
//发生strToMatch的次数
var nb=基线分割(strToMatch).length-1;
对于(变量i=0,len=nb;i0){
ioF=ioF+listSu[i-1]+wordLen;
}
listSu.push(ioF);
}
返回列表SU;
}
indexesOf(“这是一个超级用户测试,超级用户非常重要!”,“su”);
返回[10,26,43]
例如
var parts=longText.split("su");
alert(parts.length-1); // length will be two if there is one "su"
更多详细信息请使用
使用。根据MDN代码修改的示例
len
包含su
出现的次数
var myRe = /su/g;
var str = "This is a superuser test, super user is is super important!";
var myArray, len = 0;
while ((myArray = myRe.exec(str)) !== null) {
len++;
var msg = "Found " + myArray[0] + ". ";
msg += "Next match starts at " + myRe.lastIndex;
console.log(msg, len);
}
// "Found su. Next match starts at 12" 1
// "Found su. Next match starts at 28" 2
// "Found su. Next match starts at 45" 3
var howmany=longText.split(“su”).length
或var res=longText.match(/su/g)到目前为止,代码>正常,如何检查每个“su”?“su”的位置。拆分(“su”)。不建议使用长度=2的破坏方法。
var myRe = /su/g;
var str = "This is a superuser test, super user is is super important!";
var myArray, len = 0;
while ((myArray = myRe.exec(str)) !== null) {
len++;
var msg = "Found " + myArray[0] + ". ";
msg += "Next match starts at " + myRe.lastIndex;
console.log(msg, len);
}
// "Found su. Next match starts at 12" 1
// "Found su. Next match starts at 28" 2
// "Found su. Next match starts at 45" 3
var longText="This is a superuser test, super user is is super important!";
var count = 0;
while(longText.indexOf("su") != -1) { // NB the indexOf() method is case sensitive!
longText = longText.replace("su",""); //replace first occurence of 'su' with a void string
count++;
}