Wie kann ich die Anzahl der Vorkommen einer bestimmten Zeichenfolge in einer anderen Zeichenfolge zählen. Das ist zum Beispiel das, was ich versuche, in Javascript zu tun:
var temp = "This is a string.";
alert(temp.count("is")); //should output '2'
Das "g" im regulären Ausdruck (kurz für global) bedeutet, dass die gesamte Zeichenkette durchsucht werden soll und nicht nur das erste Vorkommen. Dies entspricht zweimal "ist":
var temp = "Dies ist eine Zeichenkette.";
var count = (temp.match(/is/g) || []).length;
console.log(count);
Und wenn es keine Übereinstimmungen gibt, gibt es 0
zurück:
var temp = "Hallo Welt!";
var count = (temp.match(/is/g) || []).length;
console.log(count);
function countInstances(string, word) {
return string.split(word).length - 1;
}
Sie können match
verwenden, um eine solche Funktion zu definieren:
String.prototype.count = function(search) {
var m = this.match(new RegExp(search.toString().replace(/(?=[.\\+*?[^\]$(){}\|])/g, "\\"), "g"));
return m ? m.length:0;
}