Teilen Sie einen String in ein Array in Kotlin auf
- Erstellen Sie ein Kotlin-Projekt
- Lesen Sie Text aus einer Datei in Kotlin
-
Verwenden Sie die
split()
-Methode und denArray()
-Konstruktor, um einen String in Kotlin in ein Array aufzuteilen -
Verwenden Sie die Methoden
split()
undtoTypedArray()
, um einen String in Kotlin in ein Array aufzuteilen - Entfernen Sie führende und nachgestellte Leerzeichen nach dem Aufteilen einer Zeichenfolge in ein Array in Kotlin
- Abschluss
Eine Reihe von Zeichenfolgen bilden immer eine Zeichenfolge, und wir können jede der Zeichenfolgen abrufen, wenn dies erforderlich ist. Beispielsweise verwenden Benutzer in einer realen Anwendung normalerweise eine Folge von Zeichen, um nach einem bestimmten Dienst oder Produkt in der Anwendung zu suchen.
Normalerweise verwenden wir nicht die gesamte Zeichenfolge, um eine Suche durchzuführen. Wir rufen normalerweise Schlüsselwörter aus dem Suchbegriff ab und verwenden sie, um die Suche durchzuführen.
Dieses Tutorial zeigt, wie Sie in Kotlin eine Zeichenfolge in ein Array von Zeichenfolgen aufteilen. Sie können diese Technik verwenden, um, wie oben erwähnt, in einer Anwendung zu suchen, indem Sie die Schlüsselwörter aus dem String-Array abrufen.
Erstellen Sie ein Kotlin-Projekt
Öffnen Sie IntelliJ IDEA und wählen Sie Datei > Neu > Projekt
. Geben Sie im sich öffnenden Fenster den Projektnamen als split-string
ein, wählen Sie Kotlin
im Abschnitt Sprache und wählen Sie IntelliJ
im Abschnitt Build System.
Drücken Sie abschließend die Schaltfläche Erstellen
, um das Projekt zu generieren.
Sobald das Projekt generiert ist, erstellen Sie eine Datei mit dem Namen data.txt
im Ordner src
und fügen Sie diesen Text in die Datei ein.
Your, service, provider, is, wishing, you, a, good, day
Dieser Text enthält eine einzelne Zeile eines Strings, wobei jeder String durch ein Komma vom anderen getrennt ist. Wir werden diese Datei verwenden, um die Zeichenfolge in unsere Anwendung einzulesen.
Lesen Sie Text aus einer Datei in Kotlin
Erstellen Sie eine zweite Datei namens Main.kt
im Ordner src/main/kotlin
und kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein.
import java.io.File
private val fileData = File("src/data.txt");
fun readFileData(): String {
return fileData.bufferedReader()
.readLine();
}
fun main(){
println(readFileData());
}
In diesem Code haben wir eine Methode namens readFileData()
erstellt, die einen BufferedReader
verwendet, um die Zeile zu lesen, die wir in der Datei data.txt
mit der Methode readLine()
hinzugefügt haben.
Der BufferedReader
bietet eine effiziente Möglichkeit, Daten aus einer Datei zu lesen, da die Daten in einen Puffer gelesen werden, anstatt sie direkt aus der Datei zu lesen. Wenn wir diese Daten erneut benötigen, werden die Daten aus dem Puffer geholt.
Die Methode readLine()
liest eine einzelne Textzeile, sofern vorhanden; Andernfalls gibt die Methode null zurück. Das Ende einer Zeile wird durch einen Zeilenvorschub \n
, einen Wagenrücklauf \r
oder EOF
gekennzeichnet, was das Ende der Datei bedeutet.
Führen Sie diesen Code aus und beachten Sie, dass unsere Datei erfolgreich gelesen wurde. Der Inhalt wird wie unten gezeigt in der Konsole protokolliert.
Your, service, provider, is, wishing, you, a, good, day
Verwenden Sie die split()
-Methode und den Array()
-Konstruktor, um einen String in Kotlin in ein Array aufzuteilen
Kommentieren Sie die Methode main()
im vorherigen Beispiel und kopieren Sie den folgenden Code und fügen Sie ihn nach der Methode readFileData()
in die Datei Main.kt
ein.
fun usingSplitAndArray(): Array<String> {
val stringData: List<String> = readFileData()
.split(",");
return Array(stringData.size) { index ->
stringData[index]
}
}
fun main(){
println(usingSplitAndArray()[0])
}
In diesem Code haben wir eine Methode namens usingSplitAndArray()
erstellt, die die Methode split()
für die von der Methode readFileData()
zurückgegebene Zeichenfolge aufruft, um eine Liste mit Werten der Zeichenfolge List<String>
zurückzugeben.
Die Methode split()
verwendet Kommas als Trennzeichen für den String. Beachten Sie, dass Sie in der Methode split()
eine variable Anzahl von Trennzeichen übergeben können, um das gewünschte Ergebnis zu erzielen.
Da wir ein Array von Strings Array<String>
zurückgeben möchten, verwenden wir die zurückgegebene Liste, um mit dem Konstruktor Array()
ein neues Array zu erstellen. Dieser Konstruktor akzeptiert zwei Argumente: Das erste ist die Arraygröße und das zweite ein Lambda-Ausdruck, der ein int akzeptiert und einen Typ T
zurückgibt.
Da unsere Liste all diese Argumente bereitstellen kann, übergeben wir die Listengröße als erstes Argument des Konstruktors Array()
, und das zweite Argument verwendet den Index jedes Elements in der Liste, um die Werte des Arrays zurückzugeben.
Um zu überprüfen, ob unser String in ein Array konvertiert wurde, haben wir den Wert am Index 0
aus dem zurückgegebenen Array usingSplitAndArray()[0]
in der Methode main()
protokolliert.
Führen Sie diesen Code aus und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.
Your
Verwenden Sie die Methoden split()
und toTypedArray()
, um einen String in Kotlin in ein Array aufzuteilen
Kommentieren Sie die Methode main()
im vorherigen Beispiel aus und kopieren Sie den folgenden Code und fügen Sie ihn nach der Methode usingSplitAndArray()
in die Datei Main.kt
ein.
fun usingToTypedArray(): Array<String> {
return readFileData()
.split(",")
.toTypedArray();
}
fun main(){
println(usingToTypedArray()[1])
}
In diesem Code haben wir eine Funktion namens usingToTypedArray()
erstellt, die ein Array von Strings Array<String>
aus der Liste zurückgibt, die von der split()
-Methode zurückgegeben wird.
Im vorherigen Beispiel haben wir erwähnt, dass die Methode split()
eine Liste von Strings List<String>
zurückgibt, und wir können den Konstruktor Array()
verwenden, um ein Array von Strings zu erstellen.
Dieses Beispiel ist viel einfacher als das vorherige Beispiel, da wir nur die Methode toTypedArray()
für die zurückgegebene Liste aufrufen müssen, um ein typisiertes Array zurückzugeben, das einfach ein Array von Strings Array<Strings>
ist.
In der Methode main()
haben wir den vom Array zurückgegebenen Wert am Index 1
protokolliert, um zu überprüfen, ob die Zeichenfolge in ein Array konvertiert wurde.
Führen Sie diesen Code aus und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.
service
Entfernen Sie führende und nachgestellte Leerzeichen nach dem Aufteilen einer Zeichenfolge in ein Array in Kotlin
Kommentieren Sie die Methode main()
im vorherigen Beispiel aus und kopieren Sie den folgenden Code und fügen Sie ihn nach der Methode usingToTypedArray()
in die Datei Main.kt
ein.
fun usingTrimMethod(): Array<String> {
return readFileData()
.split(",")
.map(String::trim)
.toTypedArray()
}
fun main(){
println(usingTrimMethod()[1])
}
Beachten Sie, dass unser Text führende Leerzeichen enthält und das vorherige Beispiel einen Wert mit dem Leerzeichen als Teil der Zeichenfolge zurückgegeben hat. Um die führenden und abschließenden Leerzeichen zu entfernen, rufen wir die Methode map()
auf und übergeben die Methode trim()
als Argument.
Die Methode trim()
ist eine Transformationsfunktion, die alle führenden und nachgestellten Leerzeichen entfernt, falls vorhanden. Dieses Beispiel ähnelt dem vorherigen, und sein Hauptziel ist es, zu zeigen, wie man Leerzeichen eliminiert.
Führen Sie dieses Beispiel aus und beachten Sie, dass der in der Konsole protokollierte Wert in diesem Fall keine Leerzeichen enthält, wie unten gezeigt.
service
Abschluss
In diesem Tutorial haben wir gelernt, wie man einen String in ein Array aufteilt. Zu den Themen, die wir behandelt haben, gehören:
- Lesen einer Zeichenfolge aus einer Textdatei.
- Verwendung der
split()
-Methode und desArray()
-Konstruktors, um ein Array von Strings zurückzugeben. - Verwendung der Methoden
split()
undtoTypedArray()
, um ein Array von Strings zurückzugeben.
David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.
LinkedIn GitHub