Teilen Sie einen String in ein Array in Kotlin auf

David Mbochi Njonge 20 Juni 2023
  1. Erstellen Sie ein Kotlin-Projekt
  2. Lesen Sie Text aus einer Datei in Kotlin
  3. Verwenden Sie die split()-Methode und den Array()-Konstruktor, um einen String in Kotlin in ein Array aufzuteilen
  4. Verwenden Sie die Methoden split() und toTypedArray(), um einen String in Kotlin in ein Array aufzuteilen
  5. Entfernen Sie führende und nachgestellte Leerzeichen nach dem Aufteilen einer Zeichenfolge in ein Array in Kotlin
  6. Abschluss
Teilen Sie einen String in ein Array in Kotlin auf

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:

  1. Lesen einer Zeichenfolge aus einer Textdatei.
  2. Verwendung der split()-Methode und des Array()-Konstruktors, um ein Array von Strings zurückzugeben.
  3. Verwendung der Methoden split() und toTypedArray(), um ein Array von Strings zurückzugeben.
David Mbochi Njonge avatar David Mbochi Njonge avatar

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

Verwandter Artikel - Kotlin String