Heim  >  Artikel  >  Web-Frontend  >  Extrahieren Sie Zahlen mit JavaScript aus einer Zeichenfolge

Extrahieren Sie Zahlen mit JavaScript aus einer Zeichenfolge

WBOY
WBOYnach vorne
2023-08-26 13:09:211719Durchsuche

使用 JavaScript 从字符串中提取数字

In JavaScript gibt es mehrere Möglichkeiten, Zahlen aus Zeichenfolgen zu extrahieren. Eine Möglichkeit besteht darin, die Methode match() und einen regulären Ausdruck zu verwenden, um nach allen Zahlen in einer Zeichenfolge zu suchen. Eine andere Möglichkeit besteht darin, die Methode replace() und einen regulären Ausdruck zu verwenden, um alle nicht numerischen Zeichen aus der Zeichenfolge zu entfernen und nur die Zahlen übrig zu lassen.

Lassen Sie uns jede Methode anhand einiger Beispiele verstehen.

Verwenden Sie die Methode match() und reguläre Ausdrücke

Regulärer Ausdruck ist ein Suchmuster, das wir durch die Kombination mehrerer Buchstaben und Sonderzeichen erstellen können. Wir können das Suchmuster „/d+/“ verwenden, um nach Zahlen in einer Zeichenfolge zu suchen. Im Suchmodus „d+“ steht d für eine Zahl zwischen 0 und 9 und „+“ für mindestens eine gefundene Ziffer.

Wir können diesen regulären Ausdruck also als Argument für die in JavaScript integrierte Match-Methode verwenden, um nach allen Zahlen in einer bestimmten Zeichenfolge zu suchen.

Grammatik

Benutzer können alle Zahlen aus einer bestimmten Zeichenfolge extrahieren, indem sie der folgenden Syntax folgen.

let str = "Sampll323435 Stringrfd23232ftesd3454!";
let numbers = str.match('/\d+/');

In der obigen Syntax haben wir die Methode match() verwendet, die das Vorkommen von Zahlen in der angegebenen Zeichenfolge abgleicht.

Beispiel

In diesem Beispiel haben wir eine Zeichenfolge erstellt, die Zahlen enthält. Danach haben wir einen regulären Ausdruck mit dem g-Flag erstellt, um alle Vorkommen von Zahlen in der Zeichenfolge abzugleichen, und ihn als Parameter der match()-Methode übergeben, um eine Übereinstimmung in der Zeichenfolge zu erzielen

Die Methode

match() gibt ein Array zurück, das alle Zahlen enthält, die auf der Übereinstimmung regulärer Ausdrücke basieren.

<html>
   <body>
      <h3>Using the <i> match () </i> Method and Regular Expression to extract the numbers from the string</h3>
      <div id = "output"> </div>
      <script>
         let output = document.getElementById("output");

         // defining the string containing the numbers
         let str = "Sampll323435 Stringrfd23232ftesd3454!";
         output.innerHTML = "Original String: " + str + "<br/>";

         // Matching for the numbers using the match() method.
         let numbers = str.match(/\d+/g);

         // numbers is an array of all occurrences of numbers
         
         // if any single number is available in the string, then print numbers
         if (numbers.length > 0) {
            output.innerHTML += "<br> Numbers in the StringL: " + numbers + "<br/>";
         }
      </script>
   </body>
</html>

Verwenden Sie die Methode replace() und reguläre Ausdrücke

Wir können reguläre Ausdrücke verwenden, um numerische Zeichen und andere Zeichen zu identifizieren. Daher werden wir reguläre Ausdrücke verwenden, um andere Zeichen zu identifizieren und sie durch leere Zeichenfolgen zu ersetzen. Auf diese Weise können wir alle Zeichen außer Zahlen entfernen und Zahlen aus der Zeichenfolge extrahieren.

Grammatik

Benutzer können die Methode replace() verwenden, um Zahlen aus einer Zeichenfolge zu extrahieren, indem sie der folgenden Syntax folgen.

let result = str.replace(/[^0-9]/g,"");

In der obigen Syntax ist str eine Zeichenfolge in Anführungszeichen, aus der wir eine Zahl extrahieren möchten. Darüber hinaus repräsentiert der reguläre Ausdruck [^0-9] alle Zeichen außer 0 bis 9.

Beispiel

Im folgenden Beispiel verwenden wir die Methode replace(), um alle Zeichen außer numerischen Zeichen durch eine leere Zeichenfolge zu ersetzen. Wir übergeben den regulären Ausdruck als ersten Parameter und den leeren String als zweiten Parameter.

Die Methode

replace() gibt eine Zeichenfolge zurück, nachdem alle Zeichen außer numerischen Zeichen durch eine leere Zeichenfolge ersetzt wurden. In der Ausgabe können wir beobachten, dass sie kein Array wie die Methode match() zurückgibt, sondern nur einen einzelnen String.

<html>
   <body>
      <h3>Using the <i> replace() </i> method and regular expression to extract the numbers from the string</h3>
      <div id = "output"> </div>
      <script>
         let output = document.getElementById("output");
         let string = "dnbdj53454 4k54k6j23in k09e30n9923g9 kjm545";
         output.innerHTML = "Original String: " + string + "<br/>";

         // replace all non-numeric characters with empty string
         let result = string.replace(/[^0-9]/g, "");
         output.innerHTML +="<br> Numbers in the string: " + result + "<br/>";
      </script>
   </body>
</html>

Extrahieren Sie Zahlen aus einer Zeichenfolge mit der Methode „reduce()“

reduce() ist eine integrierte Bibliotheksmethode von JavaScript. Wir können eine Zeichenfolge in ein Zeichenarray konvertieren und die Methode Reduce() für das Zeichenarray verwenden. Die Methode „reduce()“ hilft uns, ein Array auf ein einzelnes Element zu reduzieren, indem wir Operationen an den Array-Elementen ausführen.

Hier prüfen wir, ob das Zeichen eine Zahl ist, und fügen es dem letzten Element hinzu. Andernfalls fügen wir eine leere Zeichenfolge hinzu.

Grammatik

Benutzer können die Methode „reduce()“ verwenden, um Zahlen aus Zeichenfolgen gemäß der folgenden Syntax zu extrahieren.

let charArray = [...string];
let numbers = charArray.reduce(function (numString, element) {
   let nums = "0123456789";
   if (nums.includes(element)) {
      return numString + element;
   }
   return numString;
},"");

In der obigen Syntax verwenden wir die Reduce-Methode mit charArray. Wir übergeben die Callback-Funktion als ersten Parameter und den leeren String als zweiten Parameter.

Algorithmus

  • Schritt 1 – Konvertieren Sie die Zeichenfolge mithilfe des Spread-Operators in ein Zeichenarray.

  • Schritt 2 – Verwenden Sie die Methode „reduce()“ von charArray, um das gesamte Array auf eine einzige Zeichenfolge zu reduzieren, die nur Zahlen enthält.

  • Schritt 3 – Übergeben Sie die Callback-Funktion als ersten Parameter der Methode Reduce(), die die reduzierte Zeichenfolge zurückgibt

  • Schritt 4 – Übergeben Sie in der Rückruffunktion numString als ersten Parameter, bei dem es sich um eine vereinfachte Zeichenfolge handelt, und element als zweiten Parameter, bei dem es sich um ein Array-Element handelt, das die Zeichenfolge der Zeichenfolge darstellt.

  • Schritt 5 – Überprüfen Sie in der Callback-Funktion, ob die Zeichen des Arrays bedeuten, dass das Element zwischen 0 und 9 liegt. Wenn ja, wird das Zeichen zu numString hinzugefügt und zurückgegeben; andernfalls wird numString unverändert zurückgegeben.

  • Schritt 6 – Übergeben Sie einen leeren String als zweiten Parameter der Methode „reduc()“, der der Anfangswert von „numString“ ist.

  • Schritt 7 – Nach einer vollständigen Iteration des Arrays gibt die Methode Reduce() den Endwert von numString zurück.

Beispiel

Im folgenden Beispiel haben wir eine Zeichenfolge mit Zahlen genommen und den obigen Algorithmus implementiert, um Zahlen aus der Zeichenfolge zu extrahieren.

<html>
   <body>
      <h3>Using the <i>reduce() </i>method to extract the numbers from the string</h3>
      <div id = "output"> </div>
      <script>
         let output = document.getElementById("output");
         let string = "34gr345fr45";
         output.innerHTML += "Original String: " + string + "<br/>";
         let charArray = [...string];
         let numbers = charArray.reduce(function (numString, element) {
            let nums = "0123456789";
            if (nums.includes(element)) {
               return numString + element;
            }
            return numString;
         }, "");
         output.innerHTML +="<br> Number in the String: " + numbers + "<br/>";
      </script>
   </body>
</html>

在本教程中,我们讨论了从给定字符串中提取数字的三种方法。第一种方法是使用 match() 方法和正则表达式来搜索字符串中的所有数字。第二种方法使用 replace() 方法和正则表达式从字符串中删除所有非数字字符,只留下数字。第三种方法是使用reduce()includes()方法。仔细考虑哪种方法最适合特定情况非常重要。

Das obige ist der detaillierte Inhalt vonExtrahieren Sie Zahlen mit JavaScript aus einer Zeichenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen