String filtern

Java-DAU

Mitglied
Hey ihr süßen,

ich hab einen langen text im String, sieht so aus:

public class StringsDing {

public static void main(String[] args) {

String text = "sehr sehr langer text......"


Die Aufgabe ist es diesen Text zu filtern und alle Zahlen und Wörter, die nur aus einem Buchstaben bestehen rauszuwerfen.

Die Zahlen hab ich bereits mir "replace" rausgeworfen aber wie zur Hölle mach ich das mit den Wörtern < 2 Zeichen???? :bahnhof:
 
T

TryToHelp

Gast
Teile deinen Text in Wörter, üblicher weiße macht mann das an den Leerzeichen, dafür gibt es den split Befehl der String Klasse. Das Resultat ist dann ein Array von Strings. Durch dieses kannst du dann mittels einer Schleife durch gehen und schaust dir dann von jedem Arrayobjekt (dem String) die Länge an und mittels if-Abfrage schaust du ob diese kürzer als 2 ist ;-)
 

Java-DAU

Mitglied
Ja soweit war ich schon :)

String[] splitArray = text.split("(\\s|\\p{Punct})+");
for (int i = 0; i < splitArray.length; i++)
System.out.println(splitArray);


Jetzt gings darum die einzelnen Buchstaben rauszukicken..... Ich werde dann mal schaun das ich eine brauchbare Schleife und if-Abfrage hinbekomme ;)
 
T

TryToHelp

Gast
Schau dir mal den befehl an String (Java 2 Platform SE v1.4.2)
Deine schleife kanns du so lassen wie du willst und anstelle der Syso machst du dann dein if (generell würde ich schleifen und ifs immer mit geschweiften Klammern machen)
also so in der Art
Java:
for (int i = 0; i < splitArray.length; i++){
  if(splitArray[i].length()<2){
    // das wort ist nur ein Buchstabe
    System.out.println("nur ein Buchstabe "+splitArray[i]);
  }else{
    System.out.println("mehr als ein Buchstabe "+splitArray[i]);
  }
}
Und für Java-Code das Java-Tag nehmen
 

Java-DAU

Mitglied
ok, danke! aber bei dieser lösung wird das zeichen nur markiert und nicht gelöscht.... wie kann ich das nun komplett raus bekommen aus meinem string oder zumindest dafür sorgen das es nicht betrachtet wird???

die Folgeaufgaben beziehen sich auf einen Text mit Wörtern mit der Mindestlänge 2+
 

Niggel595

Mitglied
Java:
String ergebnis = "";
for (String s: splitArray){
    if(s.length() < 2){
        ergebnis += s;
    }
}

Bitte sehr^^
 

Pentalon

Bekanntes Mitglied
Na die Leerzeichen werden jetzt wohl nicht das Problem sein :)
Das liesse sich mit einer kleinen Erweiterung leicht lösen:
Java:
ergebnis = ergebnis +s+" ";

Das letzte Leerzeichen könnte man sich dann sparen, das macht man mit einer if Anweisung.

Pentalon
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Java:
str = str.replaceAll("(?:\\W)\\w(?:\\W)", "");
:) ?
Beachten müsste man noch folgende Punkte:
- funktioniert es auch bei einzelnem Zeichen am Anfang/Ende des Strings?
- will man noch die Leerzeichen löschen? Da müsste man natürlich Punkte o.ä. nicht löschen
 

Java-DAU

Mitglied
mein Text besteht aus etwa 500 worten, jedes dieser Worte steht nun in meinem Array. Ich soll das ganze alphabetisch sortieren lassen und zwar mit bubblesort. Hm Arrays.sort kann das auch, aber wäre ja viel zu einfach :/

Kann jemand helfen????
 

Pentalon

Bekanntes Mitglied
Bubble Sort.....

Der wurde in diesem Forum schon öfter behandelt.
Einfach mal suchen, würde ich vorschlagen.

Auch die Wikipedia hält zu diesem Thema einiges bereit.

Vom Prinzip her wird das Array mit einer Schleife durchlaufen und feld[x] mit feld[x+1] verglichen.
Ist feld[x] grösser als feld[x+1] werden die beiden ausgetauscht. Dieser Vorgang findet so lange statt, bis es nichts mehr zu tauschen gibt.
Das ist der BubbleSort.

Sehr einfach, wenn man die Kontrollstrukturen richtig anwendet.

Pentalon
 

Java-DAU

Mitglied
Danke. Ich weiß wie BubbleSort funktioniert, habe damit auch schon Zahlen sortiert. Mir ist nur nicht klar wie ich damit Buchstaben sortieren soll. Höchstens ich weise jedem Buchstaben vorher einen Wert zu, aber ich weiß nicht ob das vllt zu umständlich ist?!
 

Pentalon

Bekanntes Mitglied
Ganz einfach, Du machst Dir eine Vergleichsmethode, die Dir sagt, welcher der beiden übergebenen Strings grösser ist.
Einem Buchstaben brauchst Du ausserdem keinen Wert zuweisen, denn er hat bereits einen Wert.

Hier ein kleiner Denkanstoss:
Java:
    public static void main(String[] args) 
    {        
    	char a = 'a';
    	char b = 'b';
    
        if (a < b) System.out.println("A ist kleiner als B");
        else System.out.println("B ist kleiner als A");
    }

PS: eigendlich wäre das ja eine andere Frage, der man einen eigenen Thread spendieren sollte.

Pentalon
 
Zuletzt bearbeitet:

Java-DAU

Mitglied
ne ich soll einfach etwa 600 Worte (unabhängig von groß- und kleinschreibung) nach dem Alphabet sortieren..... ABER wir dürfen nur das bisher gelernte nutzen. Letzte Stunde haben wir BubbleSort gelernt, daher auch mein kläglicher Versuch es irgendwie mit bubbleSort umzusetzen....
 

pro2

Bekanntes Mitglied
Wie oben steht, du musst im Prinzip dir die String-Anfänge als char holen und dann kannst du sie so vergleichen, als wären es Zahlen.

Java:
char character1 = Character.toLowerCase(array[i].charAt(0));
char character2 = Character.toLowerCase(array[i + 1].charAt(0));

So könnte das etwa im Code später aussehen. Weiß nicht, ob ihr nur nach dem ersten Buchstaben oder auch nach weiteren sortieren müsst, dann würde es noch mal etwas komplizierter. Aber mit dem Tricks dürftest du es eig. hinbekommen, wenn es auch mit Zahlen geklappt hat!
 

Pentalon

Bekanntes Mitglied
Ob das ausreicht ?

Wenn Du ein Array hast in dem z.B. die folgenden Strings stehen:

Abend, Zelt, Badewanne, Atom, Zimt, Berg, Haus, Hexe

und die Sortierung dann so aussieht:

Atom
Abend
Berg
Badewanne
Hexe
Haus
Zimt
Zelt

würde ich das als nicht ausreichend empfinden.
Natürlich ist das jetzt bewusst falsch hingeschrieben und so manche Anordnung wird wohl richtig sein, dass ist dann aber reiner Zufall und darauf würde ich micht nicht verlassen.

Pentalon
 

Pentalon

Bekanntes Mitglied
Ja, dafür sind die Jungs ja da :)

Spass beiseite, hast Du die Sortierung schon gemacht ? bzw, was sagt der Lehrer, ist es ausreichend, nach dem ersten Buchstaben zu sortieren ?

Pentalon
 

Java-DAU

Mitglied
ne, habs irgendwann aufgegeben :/ kann mir nicht vorstellen das das sooooo kompliziert gehen soll wie ich mir das in meinem kopf vorstelle :-(

Der Arbeitsauftrag war dieses Array alphabetisch, also lexikographisch zu sortieren. Genau wie im Duden ist Groß- und Kleinschreibung dabei zu ignorieren......
 

Pentalon

Bekanntes Mitglied
Naja, es ist schon etwas knackig.
Aber wenn Du die Sortierung eh schon hast, bzw. nur von Zahlensortierung umstellen musst, ist nur noch eine gute Routine zu machen, die 2 Strings vergleicht.

Du machst Dir als erstes 2 Char Felder in denen die beiden Strings zu Chars zerlegt werden.

Java:
char[] feldA = a.toCharArray();
char[] feldB = b.toCharArray();

Dann vergleichst Du die beiden in einer Schleife und gibts true oder false zurück.
Mit diesem Rückgabewert vertauscht Du dann die Strings oder eben nicht.

Das einzige worauf man aufpassen muss, ist, wenn man 2 Strings mit unterschiedlicher Länge prüft.
Man prüft nur die Anzahl des kürzeren Strings, wenn die alle gleich sind wie z.B. bei "aaaa" "aaaab" muss aaaa vor aaaab kommen, was ja auch logisch ist. Wenn man das ignoriert, kann es passieren, dass aaaab vor aaaa kommt.

Du bist also eigendlich schon fast fertig.
Wenn Du Hilfe brauchst, melde Dich einfach.

Pentalon
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A String mittels RegEx filtern Java Basics - Anfänger-Themen 13
F String filtern und Systeminfos Java Basics - Anfänger-Themen 19
J Aus einem String unbekannte zeichen filtern Java Basics - Anfänger-Themen 11
S LinkedList<String[]> filtern und sortieren Java Basics - Anfänger-Themen 9
S String filtern mit replace -> Problem Java Basics - Anfänger-Themen 6
G Zahlen aus String filtern? Java Basics - Anfänger-Themen 3
G String "filtern" Java Basics - Anfänger-Themen 2
J Mailadresse aus String filtern Java Basics - Anfänger-Themen 2
G aufsteigenden Teilstring aus String filtern? Java Basics - Anfänger-Themen 2
E Laufwerksangabe aus Pfadangabe (String) filtern Java Basics - Anfänger-Themen 10
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
T String splitten Java Basics - Anfänger-Themen 3
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
T Platzhalter in String? Java Basics - Anfänger-Themen 14
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
R Ein Multidimensionales String Array initialisieren und Deklarieren Java Basics - Anfänger-Themen 2
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S String mit Int input vergleichen Java Basics - Anfänger-Themen 5
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
N null in String replacen Java Basics - Anfänger-Themen 16
R Compiler-Fehler JTable mit XML befüllen | The constructor JTable(Object[], String[]) is undefined Java Basics - Anfänger-Themen 10
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
D String mit int multiplizieren? Java Basics - Anfänger-Themen 16
H Überprüfen ob String Array leer ist Java Basics - Anfänger-Themen 4
A Korrigierte <String> Liste zurückgeben Java Basics - Anfänger-Themen 22
C In String, Buchstaben ersetzen durch andere Buchstaben Java Basics - Anfänger-Themen 26
Poppigescorn String mit mehreren Wörtern füllen? Java Basics - Anfänger-Themen 4
I String Expression mit Java validieren (true / false) Java Basics - Anfänger-Themen 34
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
T Maximale Anzahl von Konsonanten im String Java Basics - Anfänger-Themen 6
H String verschlüsseln - eigener Algorithmus Java Basics - Anfänger-Themen 104

Ähnliche Java Themen

Neue Themen


Oben