/ / Übergeben eines Trennzeichens als Befehlszeilenargument in scala und Aufteilen einer Zeichenfolge - scala

Übergeben Sie Trennzeichen als Befehlszeilenargument in scala und verwenden Sie es, um eine Zeichenkette - scala zu teilen

Ich habe ein Scala-Programm, in dem ich "t" als Befehlszeileneingabe verwende.

Innerhalb des Programms möchte ich eine Zeichenfolge auf der Grundlage des Trennzeichens aufteilen, das von der Befehlszeile übergeben wird.

val splitter = args(0).charAt(0)

if(splitter == "t")
println("true")
else
println("false")

Dies gibt "false" und "splitter" aus.

Die obige Methode funktioniert für "," Komma-Trennzeichen.

Bitte schlagen Sie vor, wie ich einen Tabulator oder ein anderes Trennzeichen als Befehlszeilenparameter übergeben und für die Aufteilung verwenden kann.

Antworten:

1 für die Antwort № 1

Wenn Sie "t" in die Befehlszeile eingeben, wird dies als zweistellige Zeichenfolge eingegeben t, kein Tabulator mit einem Zeichen. Um zu tun, was Sie wollen, können Sie nicht nur das erste Zeichen nehmen (charAt(0)) da wirst du das vermissen t. Stattdessen müssen Sie es durch Konvertieren aus der Zeichenfolge entziehen t zum Tabulatorzeichen.

Ein einfacher Weg:

val splitter = args(0) match {
case "\t" => "t"
case x => x.head     // same as x.charAt(0)
}