Gibt es eine einfache Möglichkeit zu überprüfen, wie oft ein Zeichen in einem String vorkommt?
javascript
string
Ruth
quelle
quelle
Antworten:
Sie können jedes andere Zeichen in der Zeichenfolge entfernen und die Länge überprüfen:
Hier wird gezählt, wie viele
a
s drin sindstr
.quelle
let xLength = str.replace(/[^a || A]/g, "").length;
let xLength = str.replace(/[^aA]/g, "").length;
Dies gilt
a
im folgenden Beispiel:Wenn Sie die Groß- und Kleinschreibung nicht berücksichtigen möchten, möchten Sie so etwas wie
Damit es das Flag "A" und "a" ... "g" erfasst, wird es nicht wirklich benötigt, aber Sie benötigen das Flag "i"
quelle
Verwenden Sie einen RegEx, um die Anzahl der "a" in einer Zeichenfolge zu zählen.
Lassen Sie mich erklären, wie das funktioniert:
string.match
Dies ist eine RegEx-Methode. Es sucht nach dem angegebenen RegEx in der angegebenen Zeichenfolge (in diesem Fall der Zeichenfolge "Zeichenfolge").(/a/gi)
Dies ist der eigentliche RegEx. Es lautet: "Finde das Zeichen a." Es ist sehr einfach. Es trägt auch zwei Flags, das "g" und das "i". Das "g" sagt, dass ALLE Vorkommen des Zeichens "a" gefunden werden sollen. Andernfalls würde es nur den ersten finden und niemals über die Nummer eins hinaus zählen. Die zweite Flagge ist "i". Dadurch stimmt der RegEx mit allen Fällen dieses Zeichens überein. Wenn dieses Flag (i) nicht vorhanden wäre, würde der obige Code nur 4 zählen, da der Großbuchstabe "A" in der Zeichenfolge übersprungen würde. Aufgrund des "i" wird es mit Groß- und Kleinschreibung übereinstimmen . Entfernen Sie das "i", wenn Sie mit der Groß- und Kleinschreibung übereinstimmen möchten.string.match
Gibt ein Array aller Übereinstimmungen zurück, daher verwenden wir dielength
Methode, um die Anzahl der Array-Einträge abzurufen. So einfach ist das!quelle
a
" in habenstring
, dannstring.match(/a/gi)
gleich istnull
und Sie Fehler habenCannot read property 'length' of null
.Meiner Meinung nach ist es in diesem Fall bequemer und sicherer, reguläre Ausdrücke zu vermeiden
Denn wenn wir in der Lage sein wollen, jede Art von Zeichen zu zählen, müssen wir zwei Ausdrücke berücksichtigen. Ein für gemeinsame Zeichen und die zweite für spezielles Zeichen zum Beispiel wie
[
,]
,^
und so weiter. Es ist leicht, es zu vergessen, aber selbst wenn wir uns daran erinnern, denken wir, dass wir unseren Code unnötig erweitern.In diesem Fall funktioniert für Zeichenfolge
str
und Zeichench
jede dieser Lösungen:(danke an @Sarfraz )
oder
oder
Genießen!
quelle
quelle
quelle