Konvertieren einer Satzzeichenfolge in ein Zeichenfolgenarray von Wörtern in Java
Muss ich mein Java Programm einen string wie:
"This is a sample sentence."
und verwandeln Sie es in ein string-array wie:
{"this","is","a","sample","sentence"}
Ohne Punkte oder Satzzeichen (vorzugsweise). Durch die Art und Weise, die string-Eingabe ist immer ein Satz.
Gibt es einen einfachen Weg, das zu tun, ich bin nicht zu sehen? Oder haben wir wirklich die Suche nach Räumen eine Menge und erzeugen neue strings aus den Bereichen zwischen den Räumen (die Worte)?
InformationsquelleAutor der Frage AnimatedRNG | 2011-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
String.split() wird die meisten, was Sie wollen. Sie müssen dann eine Schleife über die Worte, um zu ziehen aus jedem Satzzeichen.
Beispiel:
InformationsquelleAutor der Antwort Adam Batkin
Können Sie
BreakIterator.getWordInstance
zu finden, alle Wörter in einer Zeichenfolge.Test:
Ausgabe:
InformationsquelleAutor der Antwort Ninh Pham
Können Sie auch
BreakIterator.getWordInstance
.InformationsquelleAutor der Antwort finnw
Nun, dies kann erreicht werden, nur mit
split
wie es dauert regex:diese geben Worte wie:
{"this","is","a","sample","sentence", "s"}
Den
\\W+
entsprechen alle nicht-alphanumerischen Zeichen auftreten ein oder mehrere Male. So gibt es keine Notwendigkeit, Sie zu ersetzen. Sie können überprüfen Sie die anderen Muster auch.InformationsquelleAutor der Antwort Ganapathi.D
Können Sie einfach teilen Sie Ihre Zeichenfolge wie Sie, dass mit dieser regelmäßige Ausdruck
InformationsquelleAutor der Antwort sofia
Die einfachste und beste Antwort, die ich denken kann, ist die Verwendung der folgenden Methode definiert, die sich auf die java-string -
Und nur noch "Dies ist ein Beispielsatz".split(" "). Denn es dauert eine regex, die Sie tun können, mehr komplizierte Teilungen als auch, was die Beseitigung von unerwünschten Satzzeichen und andere Zeichen.
InformationsquelleAutor der Antwort James
Verwenden
string.replace(".", "").replace(",", "").replace("?", "").replace("!","").split(' ')
zu teilen Sie den code in ein array mit keine Punkte, Kommas, Fragezeichen oder Ausrufezeichen. Sie können hinzufügen/entfernen Sie so viele ersetzen Sie Anrufe, wie Sie wollen.InformationsquelleAutor der Antwort helloworld922
Versuchen Sie, die folgenden:
Schaffen, der einen Teilstring an jedem index des array von strings mit Leerzeichen als split-Punkt.
InformationsquelleAutor der Antwort Dan Williams
Versuchen Sie dies:
InformationsquelleAutor der Antwort Mat B.
Folgenden ist ein code-snippet teilt ein sentense zu Wort und geben Ihre zu zählen.
InformationsquelleAutor der Antwort Eagle
string.replaceAll() nicht ordnungsgemäß mit dem Gebietsschema verschiedene vordefinierte. Zumindest in jdk7u10.
In diesem Beispiel wird eine word-Wörterbuch aus Textdatei mit windows Kyrillisch Zeichensatz CP1251
InformationsquelleAutor der Antwort corvinusz
Habe ich schon post diese Antwort irgendwo, werde ich es hier wieder. Diese version nicht verwenden, keine großen eingebaute Methode. Hast du das char-array umwandeln und in einem String. Hoffe, es hilft!
InformationsquelleAutor der Antwort Sujal Mandal
Einen anderen Weg, das zu tun, StringTokenizer.
ex:-
InformationsquelleAutor der Antwort Nikunj Gupta
Können Sie einfach folgenden code
InformationsquelleAutor der Antwort Rashmi singh