Konvertieren von String in Int-Array in Java
-
Konvertieren von einen String mit der Methode
replaceAll()
in ein Int-Array - Konvertieren von einen String mithilfe der Java 8-Stream-Bibliothek in ein Int-Array
- Konvertieren von einen String mit einem StringTokenizer und Funktionen in ein Int-Array
In der Java-Sprache kann es verschiedene Ansätze geben, um über die Problemstellung nachzudenken.
Teilen wir die Problemstellung zunächst in zwei Teile.
- Konvertieren Sie einen einfachen String in das String-Array.
- Konvertieren Sie ein String-Array in ein int-Array.
Hier ist die schematische Darstellung der beiden oben genannten Schritte:
Konvertieren von einen String mit der Methode replaceAll()
in ein Int-Array
Wir können die Methode replaceAll()
der Klasse String
verwenden, die zwei Argumente akzeptiert: die Werte regex
und replace
. Diese Methode ersetzt den angegebenen regulären Ausdruck durch den angegebenen Ersetzungswert. Und am Ende der Kettenfunktionen wird die Methode split()
verwendet. Diese Methode teilt den String basierend auf dem angegebenen Zeichen auf.
Wir sollten die Funktion Integer.parseInt()
verwenden, wenn die Werte aufgeteilt und in einem String-Array gesammelt werden. Da die Methode parseInt()
NumberFormatException
auslöst, sollte sich die Anweisung in einem Block try...catch
befinden, um die mögliche Ausnahme abzufangen.
Unten finden Sie ein Beispielprogramm, um die Konvertierung von Zeichenketten in ein int-Array zu demonstrieren:
package stringToIntArray;
import java.util.Arrays;
public class ConvertStringToIntArray {
public static void main(String... args) {
String testString = "[1,2,356,678,3378]";
String[] separatedStrings = testString.replaceAll("\\[", "").replaceAll("]", "").split(",");
int[] intArray = new int[separatedStrings.length];
for (int i = 0; i < separatedStrings.length; i++) {
try {
intArray[i] = Integer.parseInt(separatedStrings[i]);
} catch (Exception e) {
System.out.println("Unable to parse string to int: " + e.getMessage());
}
}
System.out.println(Arrays.toString(intArray));
}
}
Ausgabe:
[1,2,356,678,3378]
Wenn testString
den Wert [1,2,356,678,3378,f]
hat, wird eine Ausnahme ausgelöst, und die Ausgabe sieht folgendermaßen aus.
Unable to parse string to int: For input string: "f"
[1, 2, 356, 678, 3378, 0]
Konvertieren von einen String mithilfe der Java 8-Stream-Bibliothek in ein Int-Array
Im folgenden Programm haben wir zunächst die Funktion Arrays.stream()
übernommen. Um einen Stream dafür bereitzustellen, haben wir die Methode substring()
der Klasse String
verwendet, die den ersten und den letzten Indexparameter verwendet. Über den zurückgegebenen String wird die Funktion split()
angewendet, die den angegebenen String basierend auf einem Trennzeichen aufteilt.
Über den Stream wird die Funktion map()
angewendet. Diese Funktion nimmt eine beliebige Funktion als Argument und gibt den Stream zurück. Wir haben die Funktion trim()
der String-Klasse angegeben, mit der die führenden und nachfolgenden Leerzeichen entfernt wurden. parseInt
transformiert den angegebenen String in int. toArray()
speichert konvertierte int-Elemente in ein Array.
package stringToIntArray;
import java.util.Arrays;
public class StringToIntUsingJava
8Stream {
public static void main(String[] args) {
String str = "[1, 2, 3, 4, 5]";
int[] arr = Arrays.stream(str.substring(1, str.length() - 1).split(","))
.map(String::trim)
.mapToInt(Integer::parseInt)
.toArray();
System.out.println(Arrays.toString(arr));
}
}
Ausgabe:
[1, 2, 3, 4, 5]
Konvertieren von einen String mit einem StringTokenizer und Funktionen in ein Int-Array
Instanziieren Sie das StringTokenizer-Objekt mit seinem Konstruktor StringTokenizer()
. Der Konstruktor verwendet die EingabeZeichenkette und das Trennzeichen, um eine tokenisierte Zeichenkette zu bilden. Erstellen Sie gleichzeitig ein Array aus String und int mit der Größe als Token in der tokenisierten Zeichenkette.
Die Methode countTokens()
zählt die Token, wodurch das Trennzeichen intern übersprungen wird. hasMoreTokens()
prüft, ob im Tokenizer-String Token vorhanden sind. nextToken()
ruft das nächste Token aus dem String ab. Diese Methode löst NoSuchElementException
aus, wenn im String keine Token vorhanden sind.
Iterieren Sie, um die String-Token in int zu konvertieren und in einem int-Array zu sammeln.
package stringToIntArray;
import java.util.StringTokenizer;
public class StringToIntUsingStringTokenizer {
public static void main(String[] args) {
String testString = "[1,2,3,4]";
StringTokenizer stk = new StringTokenizer(testString, "[,]");
String[] strings = new String[stk.countTokens()];
int[] integerArray = new int[stk.countTokens()];
int i = 0;
while (stk.hasMoreTokens()) {
strings[i] = stk.nextToken();
integerArray[i] = Integer.parseInt(strings[i]);
i++;
}
for (int j = 0; j < integerArray.length; j++)
System.out.println("number[" + j + "]=" + integerArray[j]);
}
}
Ausgabe:
number[0]=1
number[1]=2
number[2]=3
number[3]=4
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedInVerwandter Artikel - Java String
- So führen Sie die Konvertierung von String in String-Array in Java durch
- Wie entferne ich eine Unterzeichenkette aus einer Zeichenkette in Java
- So konvertieren Sie Byte-Array in Hex-String in Java
- Wie man Java-String in Byte konvertiert
- Generieren Sie eine zufällige Zeichenkette in Java
- Die Swap-Methode in Java