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 № 1Wenn 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)
}