So überprüfen Sie in Java, ob eine Zeichenfolge nur Ziffern enthält

Bei der Datenverarbeitung kann es Szenarien geben, in denen es erforderlich ist, den entsprechenden Datentypen entsprechende Werte zuzuordnen. Genauer gesagt tritt diese Anforderung in Kraft, wenn die ganzzahligen Werte als Zeichenfolgen zugewiesen werden und umgekehrt. In solchen Fällen filtert die Analyse, ob eine Zeichenfolge nur aus Ziffern besteht, die unerwünschten Werte heraus und stellt die ordnungsgemäße Zuweisung von Werten sicher, indem nur die relevanten Werte platziert werden.

In diesem Blog werden die Ansätze zur Überprüfung, ob eine Zeichenfolge nur Ziffern enthält oder nicht, in Java demonstriert.

Wie überprüfe ich, ob eine Zeichenfolge in Java nur Ziffern enthält?

Die folgenden Ansätze können verwendet werden, um zu überprüfen, ob eine Zeichenfolge nur aus Ziffern besteht:

  • Character.isDigit()“ Methode.
  • charAt()“ Methode.
  • enthält()“ Methode.
  • Regulären Ausdruck“.

Ansatz 1: Überprüfen Sie mithilfe der Methode „Character.isDigit()“, ob eine Zeichenfolge in Java nur Ziffern enthält

Der „Character.isDigit()Die Methode identifiziert, ob das Zielzeichen eine Ziffer ist oder nicht, was erforderlich ist. Der „charAt()Die Methode „gibt jedoch das Zeichen am jeweiligen Index in einer Zeichenfolge an.

Syntax

public static boolean isDigit(char)

In dieser Syntax: „verkohlen„entspricht dem Zeichen, das auf das Zeichen überprüft werden muss.

Notiz: Diese Methode gibt einen booleschen Wert basierend darauf, ob es sich bei dem Zeichen um eine Ziffer handelt oder nicht.

public char charAt(in)

In der angegebenen Syntax lautet „In„zeigt auf den Index des abzurufenden Zeichens.

Beispiel

Schauen wir uns nun das unten aufgeführte Beispiel an, das das besprochene Konzept erläutert:

public class Digitscontain {
public static boolean containDigits(String givenString, int len){
  for (int i = 0; i < len; i++) {
  if (!Character.isDigit(givenString.charAt(i))) {
    return false;
}}
  return true;
}
public static void main(String args[]){
  String string = "123";
  int stringLength = string.length();
  System.out.println(containDigits(string, stringLength));
  String string2 = "abc123";
  int stringLength2 = string2.length();
  System.out.println(containDigits(string2, stringLength2));
}}

In diesen Codezeilen:

  • Definieren Sie eine Funktion mit dem Namen „includeDigits()”mit den angegebenen Parametern. Diese Parameter repräsentieren die übergebene Zeichenfolge bzw. deren Länge.
  • Durchlaufen Sie im Funktionskörper die Zeichenfolge, indem Sie die „for“-Schleife und das „Character.isDigit()”-Methode kombiniert mit dem „nicht (!)“-Operator und dem „charAt()“ Methode.
  • Dies geschieht, um den entsprechenden booleschen Wert basierend auf den enthaltenen oder nicht enthaltenen Ziffern in der Zeichenfolge zurückzugeben.
  • Initialisieren Sie in „main“ den String, der ausgewertet werden muss, und geben Sie seine Länge über „Länge()“ Methode.
  • Rufen Sie nun die definierte Funktion auf und übergeben Sie die Zeichenfolge und ihre berechnete Länge als Argumente.
  • Definieren Sie abschließend eine weitere Zeichenfolge und wiederholen Sie den gleichen Vorgang auch damit.

Ausgabe

Dieses Ergebnis bestätigt, dass die erstere Zeichenfolge nur die Ziffern enthält, während dies bei der letzteren nicht der Fall ist.

Ansatz 2: Überprüfen Sie mithilfe der Methode „charAt()“, ob eine Zeichenfolge in Java nur Ziffern enthält

Der „charAt()Mit der Methode „OR(||)“ können Sie hier eine Prüfung der Zeichenkette auf Ziffern mit Hilfe des Operators „OR(||)“ durchführen:

public class Digitscontain {
public static boolean containDigits(String givenString, int len){
  for (int i = 0; i < len; i++) {
  if (givenString.charAt(i) < '0' || givenString.charAt(i) > '9') {
    return false;
}}
  return true;
}
public static void main(String args[]){
  String string = "123";
  int stringLength = string.length();
  System.out.println(containDigits(string, stringLength));
  String string2 = "abc123";
  int stringLength2 = string2.length();
  System.out.println(containDigits(string2, stringLength2));
}}

In diesem Codeausschnitt:

  • Definieren Sie ebenfalls die angegebene Funktion bestehend aus der übergebenen Zeichenfolge und ihrer Länge.
  • Überprüfen Sie in der Funktionsdefinition, ob die Zeichenfolge die Ziffern aus „0“ Zu „9” darin mit dem „ODER(||)”-Operator und geben Sie entsprechend ein darauf basierendes boolesches Ergebnis zurück.
  • Initialisieren Sie in „main“ den String, der ausgewertet werden soll, und geben Sie seine Länge über die Methode „length()“ zurück.
  • Rufen Sie nun ebenfalls die definierte Funktion auf und übergeben Sie die Zeichenfolge und ihre berechnete Länge als Argumente.
  • Definieren Sie abschließend eine weitere Zeichenfolge und wiederholen Sie den gleichen Vorgang auch damit.

Ausgabe

Die Ausgabe impliziert, dass die booleschen Werte entsprechend zurückgegeben werden.

Fügen Sie das unten genannte Paket in das nächste Beispiel ein, um auf alle Funktionen im „java.util“ Paket:

import java.util.*;

Ansatz 3: Überprüfen/verifizieren Sie, ob eine Zeichenfolge in Java nur Ziffern enthält, indem Sie die Methode „contains()“ verwenden

Der „enthält()Die Methode überprüft, ob eine Zeichenfolge eine Zeichenfolge enthält. Es gibt „wahr“, wenn die Zeichen enthalten sind, andernfalls „falsch“. Diese Methode sucht nach Ziffern (als Zeichenfolge definiert) in der entsprechenden Zeichenfolge.

Syntax

public boolean contains(char)

In dieser Syntax: „verkohlen„ stellt die Zeichen dar, nach denen gesucht werden muss.

Beispiel

Führen Sie nun die unten aufgeführte Demonstration durch:

public class Digitscontain {
public static boolean containDigits(String givenString, int len){
  String integers = "0123456789";
  ArrayList<Character> givenList = new ArrayList<Character>();
  for(int i= 0;i<integers.length();i++){
  givenList.add(integers.charAt(i));
}
  for (int i = 0; i < len; i++) {
  if (!givenList.contains(givenString.charAt(i))) {
    return false;
}}
  return true;
}
public static void main(String args[]){
  String string = "123";
  int stringLength = string.length();
  System.out.println(containDigits(string, stringLength));
  String string2 = "abc123";
  int stringLength2 = string2.length();
  System.out.println(containDigits(string2, stringLength2));
}}

In diesem Codeblock:

  • Initialisieren Sie in der besprochenen definierten Funktion die Zeichenfolge, die alle möglichen Ziffern umfasst.
  • Erstellen Sie im nächsten Schritt eine ArrayList vom Typ Zeichen.
  • Anschließend durchlaufen Sie die in einem String enthaltenen Ganzzahlen über die „for“-Schleife und hängen sie an die ArrayList an.
  • Geben Sie nun ein anderes „für”-Schleife, die die übergebene Zeichenfolge iteriert und die iterierten Zeichen mit denen in der ArrayList über die „enthält()“ Methode.
  • Dadurch wird das entsprechende boolesche Ergebnis basierend auf den übereinstimmenden oder nicht übereinstimmenden Zeichenfolgenzeichen mit den ArrayList-Ganzzahlen (Ziffern) abgerufen.

Ausgabe

Importieren Sie das folgende Paket, um mit regulären Ausdrücken zu arbeiten:

import java.util.regex.*;

Ansatz 4: Überprüfen Sie mithilfe eines „regulären Ausdrucks“, ob eine Zeichenfolge in Java nur Ziffern enthält.

Der „kompilieren()Die Methode „Pattern“ der Klasse „Pattern“ in Java wird verwendet, um ein Muster über den regulären Ausdruck zu erstellen, der als Argument an die Methode übergeben wird. Es ist so, dass es mit einem Text übereinstimmt, der auf dem regulären Ausdrucksmuster basiert. Dieser Ansatz kann angewendet werden, um die Zeichenfolge basierend auf dem jeweiligen regulären Ausdruck abzugleichen.

Syntax

Pattern compile(regex)

Hier, „Regex„entspricht dem bereitgestellten regulären Ausdruck, der zu einem Muster kompiliert wurde.

Beispiel

Betrachten Sie nun den unten aufgeführten Code, der das besprochene Konzept erklärt:

public class Digitscontain {
public static boolean containDigits(String givenString, int len){
  String numRegex = "[0-9]+";
  Pattern x = Pattern.compile(numRegex);
  if (givenString == null) {
  return false;
}
  Matcher val = x.matcher(givenString);
  return val.matches();
}
public static void main(String args[]){
  String string = "123";
  int stringLength = string.length();
  System.out.println(containDigits(string, stringLength));
  String string2 = "abc123";
  int stringLength2 = string2.length();
  System.out.println(containDigits(string2, stringLength2));
}}

Nach diesem Code:

  • Geben Sie in der Funktionsdefinition den regulären Ausdruck an, dh die Ziffern, die abgeglichen werden müssen.
  • Wenden Sie nun das „kompilieren()”-Methode der Pattern-Klasse, um ein Muster über den definierten regulären Ausdruck zu erstellen.
  • Überprüfen Sie außerdem, ob in der Zeichenfolge die Bedingung „Null“ vorliegt.
  • Danach verwenden Sie die „Matcher“-Klasse „Streichhölzer()”-Methode, um die übergebene Zeichenfolge mit dem Muster abzugleichen und das entsprechende boolesche Ergebnis abzurufen.
  • Wiederholen Sie in „main“ die besprochenen Schritte zur Initialisierung der Zeichenfolgen, zur Berechnung ihrer Längen und zur Übergabe an die Funktion, um sie entsprechend auszuwerten.

Ausgabe

Diese Werte implizieren, dass die erstere Zeichenfolge die Ziffern enthält, während dies bei der letzteren nicht der Fall ist.

Abschluss

Um zu überprüfen, ob eine Zeichenfolge nur aus Ziffern besteht, wenden Sie das „Character.isDigit()” Methode, die „charAt()” Methode, die „enthält()”-Methode oder die „Regulären Ausdruck“ Ansatz. Diese Ansätze wenden diesen Vorgang über eine benutzerdefinierte Funktion an.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen