Trennzeichen mit Java Zeile der Eingabe
Ich hoffe, dies ist sehr einfach für jemanden, aber ich kann nicht scheinen, um es herauszufinden.
Versucht, mit einer Eingabe von:
addperson jsmith,john,smith
Bisher habe ich zwei Scanner
Objekte mit unterschiedlichen Trennzeichen, aber ich kann nicht ankommen es zu wirken.
Ich will nicht Scannen ganzer Linie und split-string.
import java.util.Scanner;
import java.util.ArrayList;
public class Delim
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<String>();
Scanner input = new Scanner(System.in);
Scanner inputCommand = new Scanner(System.in);
input.useDelimiter(",");
inputCommand.useDelimiter(" ");
System.out.println("Enter a username: (format username,name, surname)");
list.add(inputCommand.next());
list.add(input.next());
list.add(input.next());
list.add(input.next());
System.out.println("//debug: command " + list.get(0));
printName(list);
}
static void printName(ArrayList arr)
{
System.out.println("username: " + arr.get(1) + "\nname: " + arr.get(2) + "\nsurname: " + arr.get(3));
}
}
I don't want to scan whole line and split string.
Warum nicht?Denke es könnte chaotisch sein. Müssen manchmal dauert es ein Befehl, aber keine zusätzlichen Argumente.
Das ist weit messier, dass
split
.
InformationsquelleAutor oCodaa | 2013-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie mit einem einzigen scanner mit einer benutzerdefinierten Trennzeichen:
Dies macht das Trennzeichen entweder ein Komma oder ein Leerzeichen.
So, Ihre gesamte Programm wäre:
Danke. (Aber ist es nicht eine gute Codierung der Praxis, lassen Sie die veraltete und nicht vorhandene Variablen noch deklarieren?!?
:P
)Sie eine blutige Legende! Ich arbeitet genau so, wie ich will.
was genau machen die [] eckigen Klammern zu tun, in den Begrenzer? Und wissen Sie, wo ich kann lernen, ein wenig mehr über Trennzeichen? Dank
Die
Scanner
Trennzeichen Folgen die RegEx-syntax. Das ist, wo die[]
ins Spiel kommen. Grundsätzlich, es sagt, "mit diesen Zeichen." Das Komma ist selbsterklärend.\\s
ist einige beliebige whitespace-Zeichen. Die größte watchout für die Verwendung von RegEx in Java ist, dass, wenn der RegEx sagt\s
ist ein Leerraum, dann haben Sie\\s
zu entkommen, die ` in Java.InformationsquelleAutor apnorton