/ / Wie kann ich einen String in einzelne Wörter parsen und in Java sortieren? - Java

Wie kann ich eine Zeichenfolge in einzelne Wörter zerlegen und in Java sortieren? - Java

Ich versuche, einen Benutzer eine Textzeile eingeben zu lassenund dann in der Lage, es neu zu ordnen. Ich verstehe nicht, wie ich jedes Wort vom Eingabetext trennen kann, um Teilzeichenfolge und Reihenfolge verwenden zu können. Ich weiß nicht wie man Array benutzt und habe nur zwei Wochen Erfahrung in der Programmierung.

Antworten:

3 für die Antwort № 1

Ich verstehe nicht, wie ich jedes Wort vom Eingabetext trennen kann

Ob inputStr ist Ihre Eingabezeichenfolge, die Sie verwenden können

String[] words = inputStr.split("\s+");

Dadurch wird ein Array mit dem Namen erstellt words und würde es mit den (durch Leerzeichen getrennten) Wörtern der Eingabezeichenfolge füllen.

String.split() wird erklärt Hier. Wenn Sie nicht auf reguläre Ausdrücke stoßen, wird die "\s+" bedeutet einfach "ein oder mehrere Leerzeichen".


0 für die Antwort № 2

Wenn Sie JavaScript und nicht Java meinen, unterscheidet sich die Syntax ein wenig von JavaScript

var words = inputStr.replace(/s+/g, " ").split(" ");

Woher inputStr.replace(/s+/g, " ") ersetzt 1+ Whitespaces durch 1 Whitespace und split(" ") Teilt die durch Leerzeichen getrennte Zeichenfolge in ein Array.

Dann können Sie das Array je nach Wunsch neu ordnen.

Sie möchten das umgeordnete Array wieder in eine Zeichenfolge umwandeln, verwenden Sie:

var newString = words.join(" ");

0 für die Antwort № 3

aix "s, der vorschlägt, einen Regex zum Teilen zu verwenden, ruft den String in ein Array auf, das eine Sortiermethode in Javascript enthält.

s = "zero apple watchdog hammer";
s.split( " " ).sort();

... sollte das Array erzeugen ...

["apple", "hammer", "watchdog", "zero"]

Es ist nicht zu unterschiedlich in Java ...

String s = "zero apple watchdog hammer";
String[] splits = s.split( " " );
Arrays.sort( splits );
System.out.println( String.format( "splits: %s", Arrays.toString( splits ) ) );

Natürlich kann der an split übergebene Regex verbessert werden, um alle Arten von Whitespace zu verarbeiten. Ich werde das dem Leser als Übung überlassen.