leerstellen entfernen

cuaro

Mitglied
hi zusammen..

das ganze ist doch ein bischen komplizierter, als einfach "nur" leerstellen zu entfernen ;)

Ich habe eine Datei mit tausenden von Texten im HTML-Format..
hier ein beispiel:
"TEXT1&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;TEXT2&nbsp;TEXT3&nbsp;TEXT4&nbsp;&nbsp;&nbsp;&nbsp;<br/>"

Jetzt würde ich gerne die Sätze einlesen und alle "&nbsp"'s löschen, die unmittelbar vor "<br/>" stehen..

Also würde mein Beispiel-Satz nach durchlaufen der Methode so aussehen:
"TEXT1<br/>&nbsp;&nbsp;TEXT2&nbsp;TEXT3&nbsp;TEXT4<br/>"

Die Frage ist, wie ich in Java "&nbsp"'s anspreche und wie ich das hinbekomme, dass nur die vor "<br/>" gekillt werden? Also sprich führende und zwischenliegende "&nbsp"'s sollten erhalten bleiben!

Kann mir da jemand bitte einen Tip geben?

DANKE schonmal im voraus und Beste Grüße
 

Niki

Top Contributor
sowas in der Art?

//EDIT noch kleine Fehler ausgebessert

Java:
        String text = "TEXT1&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;TEXT2&nbsp;TEXT3&nbsp;TEXT4&nbsp;&nbsp;&nbsp;&nbsp;<br/>";
        String[] sArr = text.split("<br/>");
        StringBuilder sb = new StringBuilder();        

        for(String sTmp : sArr)
           sb.append(removeNBsp(sTmp)).append("<br/>");     

        System.out.println(sb.toString());

Java:
private static String removeNBsp(String s){
        while(s.endsWith("&nbsp;")){
            s = s.substring(0, s.length() - 6);
        }
        return s;
}
 
Zuletzt bearbeitet:

faetzminator

Gesperrter Benutzer
Java:
String str = "TEXT1&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;TEXT2&nbsp;TEXT3&nbsp;TEXT4&nbsp;&nbsp;&nbsp;&nbsp;<br/>";
str = str.replaceAll("(&nbsp;)+(\\s*<br\\s*/>)", "$2");
System.out.println(str);
Natürlich kann man statt [c](\\s*<br\\s*/>)[/c] auch ganz einfach [c](<br/>)[/c] verwenden. Das stellt allerdings sicher, dass z.B. auch Vorkommnisse wie [c]&nbsp; <br />[/c] gelöscht werden.
 

faetzminator

Gesperrter Benutzer
Edit: ja, ich meine weil der Tag entfernt wird - dieser Post wird nicht richtig dargestellt... Siehe http://www.java-forum.org/plauderecke/79231-verbesserungsvorschlaege-73.html#post649709
****
Auch wenn ich schneller war mit dem Regex:
Deine Version entfernt auch den Tag: [c]"(&nbsp;)+<br/>, ""[/c]
Naja, ersetzen wir es einfach mit dem Tag: [c]"(&nbsp;)+<br/>", "<br/>"[/c]
Jetzt groupen wir ein Bisschen, damit es "schöner" wird: [c]"(&nbsp;)+(<br/>)", "$2"[/c]
Noch die Trennzeichen miteinbeziehen: [c]"(&nbsp;)+(\\s*<br\\s*/>)", "$2"[/c]

Schon hätten wir meine Version ;) Wichtig ist aber, dass diese Version ein falsches Ergebnis zurückgibt.
 
Zuletzt bearbeitet:

cuaro

Mitglied
Ich würde es ganz simple per REGEX lösen, mit dem Ausdruck:
Code:
(&nbsp;)+<br/>

Java:
string.replaceAll("(&nbsp;)+<br/>","")

Probiers aus unter: RegEx: online regular expression testing

*EDIT*: OK andere waren wieder schneller:pueh::toll:

Danke schonmal für die zahlreichen Antworten..

wenn ich aber den replace wie oben beschrieben benutze lösche ich damit doch auch die <br/>'s, oder? Die sollten aber stehen bleiben..

Ich werd mal alle genannten Möglickeiten ausprobieren..

DANKE :)

edit: ok.. jetzt verstehe ich was oben mit dem "$2" gemeint war.. danke.. so funzt das gut..
somit erledigt :)
 
Zuletzt bearbeitet:

oldshoe

Bekanntes Mitglied
Kannst auch einfach
Java:
string.replaceAll("(&nbsp;)+<br/>","<br/>")

daraus machen, dann sind die brs wieder dabei.
 

Wortraum

Bekanntes Mitglied
Kannst auch einfach
Java:
string.replaceAll("(&nbsp;)+<br/>","<br/>")

daraus machen, dann sind die brs wieder dabei.
Und das gibt es dann sogar noch einmal effizient; man will die erste Gruppe nicht haben, also kann man das auch sagen:
Java:
str.replaceAll("(?:&nbsp;)+\\s*<br\\s*/>", "<br/>");
 

faetzminator

Gesperrter Benutzer
oldshoe: meiner macht ja genau das, ausser dass er die Gruppe verwendet, dann muss <br/> nur ein Mal deklariert werden und ggf. vorkommende Trennzeichen werden erst noch kopiert (z.B. ein New Line...).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
X Array auf Leerstellen prüfen Java Basics - Anfänger-Themen 1
K String mit Leerstellen und einem X Java Basics - Anfänger-Themen 2
G Substring und Leerstellen Java Basics - Anfänger-Themen 2
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
L Buchstaben entfernen zipZap Java Basics - Anfänger-Themen 8
padde479 Zeile entfernen TableModel Java Basics - Anfänger-Themen 11
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
Lion.King Dupklikationen entfernen Java Basics - Anfänger-Themen 4
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
bluetrix Hash Set hälfte entfernen Java Basics - Anfänger-Themen 7
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
EchtKeineAhnungManchmal Controller aus FXML Datei entfernen Java Basics - Anfänger-Themen 49
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
J String aus einem Array entfernen Java Basics - Anfänger-Themen 10
X Erste Schritte String: Alle doppelten Leerzeilen entfernen Java Basics - Anfänger-Themen 21
M Untersuchen ob ein Graph nach entfernen einer Kante immer noch zusammenhängend ist Java Basics - Anfänger-Themen 70
J erstes Vorkommen eines Chars aus einem String entfernen Java Basics - Anfänger-Themen 3
J erstes Vorkommen eines chars entfernen Java Basics - Anfänger-Themen 1
E Nullen aus Nachkommastellen entfernen Java Basics - Anfänger-Themen 2
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
D JList ListSelectionEvent entfernen? Java Basics - Anfänger-Themen 13
O Methode um Vokale zu entfernen UNSCHOEN! Java Basics - Anfänger-Themen 8
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
Dimax Leerzeilen aus einem String entfernen Java Basics - Anfänger-Themen 61
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
C Zeichen im String bis zu bestimmter Stelle entfernen Java Basics - Anfänger-Themen 6
C Entfernen des ersten String-Elements Java Basics - Anfänger-Themen 6
T Klassen Doppelte Elemente aus Container entfernen Java Basics - Anfänger-Themen 6
R Buchstabe aus String entfernen Java Basics - Anfänger-Themen 13
D Leerzeichen entfernen Java Basics - Anfänger-Themen 4
J Objekt aus Liste entfernen Java Basics - Anfänger-Themen 20
A Folgende Nullen einer Kommazahl aus String entfernen Java Basics - Anfänger-Themen 3
H Gerade Zahlen aus Array entfernen Java Basics - Anfänger-Themen 8
S Zeile entfernen aus JTable Java Basics - Anfänger-Themen 15
H Erste Schritte String Vokale entfernen Java Basics - Anfänger-Themen 11
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
O JTextPane / JtextArea Zeilenabstand entfernen Java Basics - Anfänger-Themen 1
P Java Leerzeichen in der Ausgabe entfernen Java Basics - Anfänger-Themen 3
I in listFiles() oder JList Dateiendungen entfernen Java Basics - Anfänger-Themen 14
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
N Probleme beim entfernen eines JPanels Java Basics - Anfänger-Themen 4
S Logging Code komplett von Compiler entfernen lassen..? Java Basics - Anfänger-Themen 5
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
R Best Practice Elemente aus ArrayList entfernen (performant) Java Basics - Anfänger-Themen 6
J Alle Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 13
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
S String aus String entfernen Java Basics - Anfänger-Themen 2
Q Kommastellen hinter double wert entfernen Java Basics - Anfänger-Themen 5
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
M bestimmten Teil eines Strings entfernen Java Basics - Anfänger-Themen 4
G Multiple Leerzeichen entfernen Java Basics - Anfänger-Themen 13
H Redundante Elemente aus ArrayList entfernen Java Basics - Anfänger-Themen 3
S Umlaute aus Dateisystem entfernen Java Basics - Anfänger-Themen 5
L 0 nach Komma entfernen Java Basics - Anfänger-Themen 9
S NumberFormat Tausender Zeichen entfernen? Java Basics - Anfänger-Themen 4
A ; entfernen Java Basics - Anfänger-Themen 3
R Vokale aus String entfernen Java Basics - Anfänger-Themen 11
A Elemente aus Liste entfernen Java Basics - Anfänger-Themen 5
G Long oder int Vorzeichen entfernen Java Basics - Anfänger-Themen 3
J Duplikate aus Liste entfernen Java Basics - Anfänger-Themen 16
A Threads Zur Laufzeit hinzufügen/entfernen Java Basics - Anfänger-Themen 10
C Variablen array element hinzufügen/entfernen Java Basics - Anfänger-Themen 10
S Collections Aus Set<Object> bestimmte Typen entfernen Java Basics - Anfänger-Themen 3
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
H Eintrag aus ArrayList entfernen Java Basics - Anfänger-Themen 7
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
S Entfernen aus einer Liste Java Basics - Anfänger-Themen 2
M zeichen aus string entfernen Java Basics - Anfänger-Themen 2
B Element aus Array entfernen Java Basics - Anfänger-Themen 13
M Anführungszeichen entfernen Java Basics - Anfänger-Themen 9
T Elemente aus einem ArrayList entfernen Java Basics - Anfänger-Themen 12
J Menüleiste Kaffe-Icon entfernen wie? Java Basics - Anfänger-Themen 8
K OOP Aus Collection Objekte bestimmter Subklassen entfernen Java Basics - Anfänger-Themen 7
Benji0815 HTML <div> Tags entfernen Java Basics - Anfänger-Themen 6
TheKing Programm-Icon entfernen Java Basics - Anfänger-Themen 3
N Panel entfernen Java Basics - Anfänger-Themen 2
Povlsen84 String - Zeichen am Anfang entfernen Java Basics - Anfänger-Themen 11
R Zeichnung entfernen und neue Zeichnen lassen Java Basics - Anfänger-Themen 20
J Stapel oberstes Element entfernen Java Basics - Anfänger-Themen 5
T HTML Kommentare mit regulären Ausdrücken entfernen Java Basics - Anfänger-Themen 4
S Regulärer Ausdruck - alles was keine Zahl ist entfernen Java Basics - Anfänger-Themen 2
C Abhängigkeiten zwischen Projekten entfernen Java Basics - Anfänger-Themen 6
M Array List Objekt Entfernen Java Basics - Anfänger-Themen 15
F Umlaute eines Strings entfernen (Verwendung von this?) Java Basics - Anfänger-Themen 2
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
J Doppelte Integer aus einem Array entfernen - seltsames Prob. Java Basics - Anfänger-Themen 5
B Dopplete aus Vector entfernen Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben