Leerzeichen zwischen zwei Zeichen im String entfernen

Sinus

Aktives Mitglied
Hallo

wie kann man die Leerzeichen zwischen zwei Zeichen in einem String entfernen.
Und zwar habe ich folgendes:

Java:
String text = "text +     java  - forum hallo";

Ich will z.B., daß NUR die Leerzeichen zwischen den Sonderzeichen + und - dem nächsten
Wort entfernt werden
sollen. Es soll also im Prinzip so aussehen:

Java:
String text = "text +java -forum hallo";

geht das irgendwie ohne großen Aufwand?

Vielen Dank im Voraus!
Sinus
 

Adelhorst

Mitglied
Hallo.
Ich würde hier mit der 'replace'-Methode von String arbeiten.
Man könnte mit der Methode zuerst ALLE Leerzeichen ersetzen, und danach dann für jedes Operationszeichen (+-) eine Replace-Operation machen, die diese Operationszeichen durch ein vorgestelltes Leerzeichen ersetzen.

Edit:
Erkenne gerade, dass dies so ja doch nicht geht, da ja dann auch das folgenden Leerzeichen entfernt wird: "forum hallo"

Andere Lösung:
In einer Schleife immer wieder
- ALLE "+ " durch "+" ersetzen, und zusätzlich
- ALLE "- " durch "-" ersetzen,
solange ein "+ " oder "- " noch im String vorhanden ist.
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Hallo.
Ich würde hier mit der 'replace'-Methode von String arbeiten.
Man könnte mit der Methode zuerst ALLE Leerzeichen ersetzen, und danach dann für jedes Operationszeichen (+-) eine Replace-Operation machen, die diese Operationszeichen durch ein vorgestelltes Leerzeichen ersetzen.

Nein, dann würdest du auch die anderen Leerzeichen z.B. am Ende zwischen forum und hallo wegschneiden. Es geht eventuell mit nur einem einzigen replaceAll, dafür muss aber der TO erst einmal sagen was er denn nun genau haben will!
 

Adelhorst

Mitglied
Java:
String text 	 = "text +     java  - forum hallo";
while(text.contains("+ ") || text.contains("- ")){
    text = text.replaceAll("\\+ ", "+");
    text = text.replaceAll("- ", "-");
}
In einer Schleife immer wieder
- ALLE "+ " durch "+" ersetzen, und zusätzlich
- ALLE "- " durch "-" ersetzen,
solange ein "+ " oder "- " noch im String vorhanden ist.
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Java:
String text = "text +java -forum hallo";
while(text.contains("+ ") || text.contains("- ")){
	text = text.replaceAll("+ ", "+");
	text = text.replaceAll("- ", "-");
}

:autsch::eek:???:L

Also ich bin für
Code:
System.out.println(text.replaceAll("(.*\\+)(\\s*)(.*?)(\\s*)(-)(\\s*)(.*)", "$1$3$5$7"));

wobei, wie oben erwähnt wäre dass dann das Ergebnis nach seinen Textbeschreibungen, nicht nach seinem Beispielstring....
 
Zuletzt bearbeitet:

Adelhorst

Mitglied
@eRaaa:
Kannst du mir bitte erläutern, was deine Smileys bedeuten sollen. Kann mir keinen Reim drauf machen, was du damit aussagen willst.

Wenn man das Beispiel sieht und dann noch einmal den Text liest, dann kommt man schon darauf, was gefordert wird. Allein das Beispiel ist ja schon aussagefähig.

Kompliment für deinen AllInOne-Code. Aber für einen im 'Anfänger'-Forum Fragenden sollte es dann evtl. doch eine nachvollziehende, mit einfachen Befehlen umzusetzende Methode sein.
 
Zuletzt bearbeitet:

Sinus

Aktives Mitglied
Hallo,

erstmal Danke für eure Beträge.
Ich finde den Lösungsansatz von Adelhorst nachvollziehbar und plausibel.
Ich probier das mal aus...

Vielen Dank
Sinus
 

eRaaaa

Top Contributor
Meine Smileys sollen deinen Code in Frage stellen :)
Du hast wohl den falschen Anfangsstring genommen, des weiteren musst du das + escapen da es sich um einen regulären Ausdruck handelt!
Und nein, man sollte schon genau beschreiben was man will und wenn man schon ein Beispiel anfügt (egal ob als TO oder als Antwortender) sollte es auch zu dem Beschriebenen passen und vor allem auch funktionieren oder besser weglassen und nur den TO auf die richtige Lösung versuchen hinzuleiten, das bringt am Meisten!.
 

Adelhorst

Mitglied
@eRaaa:
Herzlichen Danke für den Hinweis, habe es berichtigt. War ja doch gut, dass ich nachgefragt habe. Möchte ja auch keinen fehlerhaften Code hier veröffentlichen. Smile

@Sinus:
'TO' ist mir bisher auch nicht geläufig, aber ich interpretiere dies als "ThreadOpener".
Wenn du meinen Code ausprobieren willst, dann bitte den nun berichtigten.
 
Zuletzt bearbeitet:

Sinus

Aktives Mitglied
Hallo,

die Beispiele müssten doch plausibel genug sein? Ich will eigentlich einfach nur, dass alle
Sonderzeichen in einem String unmittelbar nach jedem Wort stehen, das ist alles...

Viele Grüße
 

Adelhorst

Mitglied
Hallo.
Damit sagst du erstens nichts darüber aus, ob du nun mit den Vorschlägen zurechtkommst.

Zweitens geht deine aktuelle Aussage jetzt ganz und gar nicht mit deinem Beispiel/Beschreibung konform, wo NACH allen Sonderzeichen die Leerzeichen entfernt werden sollten, damit Wort direkt auf Sonderzeichen folgt.
Nun sollen alle Sonderzeichen unmittelbar nach einem Wort stehen, also gerade das Gegenteil davon.

Oder möchtest du beides haben?
Da ist bosher weder Beispiel noch Beschreibung plausibel genug. Sorry.
 
Zuletzt bearbeitet:

Joose

Top Contributor
@Sinus
Ungenaue Fragen + Beispiele habe nicht zufriedenstellende Antworten zur Folge ... da wir nur raten können wie es denn wirklich sein soll.

Sollen die Leerzeichen NACH oder VOR den Sonderzeichen entfernt werden?
 

Sinus

Aktives Mitglied
@Sinus
Ungenaue Fragen + Beispiele habe nicht zufriedenstellende Antworten zur Folge ... da wir nur raten können wie es denn wirklich sein soll.

Sollen die Leerzeichen NACH oder VOR den Sonderzeichen entfernt werden?

ok ich sehe ein, dass ich mich ungenau ausgedrückt habe, sorry!
Die Zeichen sollen natürlich NACH den Sonderzeichen entfernt werden.

Viele Grüße
 
Zuletzt bearbeitet:

Sinus

Aktives Mitglied
Hallo nochmal,

ich habe folgendes geschrieben und anscheinend funktioniert das so:

Java:
	public static void test() {
		String text = "text -     java  -    forum hallo";
		System.out.println(text);
		while(text.contains("- ")) {			
			text = text.replaceAll("- ", "-");
		}	
		System.out.println(text);
	}

Nur wenn ich + statt - verwende bekomme ich im Debug Fenster die Fehlermeldung ... line: not available

Java:
	public static void test() {
		String text = "text +     java  +    forum hallo";
		System.out.println(text);
		while(text.contains("+ ")) {			
			text = text.replaceAll("+ ", "+");
		}	
		System.out.println(text);
	}

Woran könnte das liegen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Leerzeichen zwischen jeden Buchstaben eines Strings einfügen Java Basics - Anfänger-Themen 16
C mehrere Leerzeichen zwischen Strings Java Basics - Anfänger-Themen 4
melaniemueller setCharAt Leerzeichen zusätzlich einfügen Java Basics - Anfänger-Themen 8
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
M Warum werden character, die Leerzeichen sind, nicht korrekt verarbeitet? Java Basics - Anfänger-Themen 2
B String nach erstem Leerzeichen trennen Java Basics - Anfänger-Themen 7
O Methode über Leerzeichen Java Basics - Anfänger-Themen 13
D jsoup get class name mit leerzeichen Java Basics - Anfänger-Themen 7
O String Methode für längste Sequenz von Leerzeichen Java Basics - Anfänger-Themen 35
J am Anfang eines String ein Leerzeichen löschen Java Basics - Anfänger-Themen 6
J Leerzeichen im Pfad automatisch erkennen Java Basics - Anfänger-Themen 30
D Leerzeichen entfernen Java Basics - Anfänger-Themen 4
P Java Leerzeichen in der Ausgabe entfernen Java Basics - Anfänger-Themen 3
Phillip Leerzeichen nach Zahlen bei Ausgabe Java Basics - Anfänger-Themen 6
I Bei Umlauten und Leerzeichen im Pfad, wird Datei nicht gefunden Java Basics - Anfänger-Themen 5
M (Leerzeichen) zu einem gesuchten String Java Basics - Anfänger-Themen 4
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
P Leerzeichen in Pfad... Java Basics - Anfänger-Themen 17
T Leerzeichen zählen mit Rekursion Java Basics - Anfänger-Themen 17
H String mit Leerzeichen in Variablen zerlegen Java Basics - Anfänger-Themen 4
M String vergleichen - Leerzeichen Ignorieren? Java Basics - Anfänger-Themen 4
M nach Typenkonvertierung Leerzeichen ersetzen Java Basics - Anfänger-Themen 2
J Alle Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 13
P int-Werte im String (mit Hilfe vom Leerzeichen) trennen? Java Basics - Anfänger-Themen 2
S Leerzeichen herausfiltern Java Basics - Anfänger-Themen 10
T Zeichen als Leerzeichen weitergegeben Java Basics - Anfänger-Themen 13
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
G Multiple Leerzeichen entfernen Java Basics - Anfänger-Themen 13
C Leerzeichen im char Array setzen Java Basics - Anfänger-Themen 33
C Stringeingabe: kein Satz wegen Leerzeichen möglich Java Basics - Anfänger-Themen 3
D Erste Schritte RandomAccessFile "Leerzeichen" löschen Java Basics - Anfänger-Themen 6
T Erste Schritte Eingelesenen Satz - Wörter und Leerzeichen getrennt in 2x Array's Java Basics - Anfänger-Themen 7
G Leerzeichen einfügen Java Basics - Anfänger-Themen 3
3 Leerzeichen erkennen Java Basics - Anfänger-Themen 3
D Wort nach Leerzeichen - String Java Basics - Anfänger-Themen 10
X nach split leerzeichen weg Java Basics - Anfänger-Themen 4
K Int Array mit "Leerzeichen" füllen Java Basics - Anfänger-Themen 2
D mehrere Leerzeichen durch 1 Leerzeichen ersetzen Java Basics - Anfänger-Themen 3
M property-Datei: key mit Leerzeichen? Java Basics - Anfänger-Themen 3
I Zeichen zählen ohne Leerzeichen Java Basics - Anfänger-Themen 3
A Leerzeichen bei Ausgabe? Java Basics - Anfänger-Themen 3
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
P Probleme mit Runtime.exec und Leerzeichen Java Basics - Anfänger-Themen 15
G String in Array einfügen, leerzeichen! Java Basics - Anfänger-Themen 2
S regular expression - bekomme leerzeichen nicht raus Java Basics - Anfänger-Themen 3
O Leerzeichen aus Java Basics - Anfänger-Themen 11
P Leerzeichen-Problem bei Verzeichnispfad Java Basics - Anfänger-Themen 7
O Leerzeichen im Pfad Java Basics - Anfänger-Themen 8
M wie auf ein feld mit leerzeichen in einem char array prüfen? Java Basics - Anfänger-Themen 4
B Woerter, Zeichen, Leerzeichen zaehlen - Problem Java Basics - Anfänger-Themen 3
G Leerzeichen in String einfügen Java Basics - Anfänger-Themen 1
H wie spreche ich durch leerzeichen im string neuen index an Java Basics - Anfänger-Themen 10
F Leerzeichen in Pfadangabe beim Befehl exec() Java Basics - Anfänger-Themen 5
G Split Operation: ein oder mehrere Leerzeichen Java Basics - Anfänger-Themen 7
padde479 Runtime.getRuntime.exec() Leerzeichen unterdrücken Java Basics - Anfänger-Themen 2
M Leerzeichen löschen Java Basics - Anfänger-Themen 2
F Leerzeichen in Integer Array speichern Java Basics - Anfänger-Themen 7
I String mit Leerzeichen einlesen Java Basics - Anfänger-Themen 3
D Abfrage auf Leerzeichen Java Basics - Anfänger-Themen 5
G Im Zeichenarray Leerzeichen invertieren Java Basics - Anfänger-Themen 5
G String mit next()-Methode einlesen - keine Leerzeichen! Java Basics - Anfänger-Themen 11
S Problem beim setzen von JAVA_HOME (Leerzeichen?) Java Basics - Anfänger-Themen 7
R Am Begin und Ende eines Strings die Leerzeichen löschen ? Java Basics - Anfänger-Themen 3
M Leerzeichen in Dateinamen ein Problem ? Java Basics - Anfänger-Themen 4
F Leerzeichen in einen String einfügen. Java Basics - Anfänger-Themen 15
D ausgabe verändern (statt zeilenumbruch leerzeichen) Java Basics - Anfänger-Themen 2
S Einen langen String beim Leerzeichen in zwei Strings zerlege Java Basics - Anfänger-Themen 3
S txt-Datei nach Leerzeichen Splitten lassen! Java Basics - Anfänger-Themen 3
S Leerzeichen replacen Java Basics - Anfänger-Themen 5
F Problem mit Zeichenkette nur aus Leerzeichen Java Basics - Anfänger-Themen 4
T String Leerzeichen wegschneiden Java Basics - Anfänger-Themen 2
L Leerzeichen erfragen Java Basics - Anfänger-Themen 4
L Steuerzeichen für Space (Leerzeichen)? Java Basics - Anfänger-Themen 3
J Dateipfad mit Leerzeichen Java Basics - Anfänger-Themen 10
C Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 8
A replaceAll und Leerzeichen Java Basics - Anfänger-Themen 2
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
S Unterschied zwischen Denkweisen Java Basics - Anfänger-Themen 13
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
U Erste Schritte nextGaussian zwischen zwei Werten Java Basics - Anfänger-Themen 19
jhCDtGVjcZGcfzug Was ist der Unterschied zwischen diesen Quellcodes? Java Basics - Anfänger-Themen 3
rafi072001 Assoziation zwischen Musiker und Label Java Basics - Anfänger-Themen 1
I Best Practice Saubere Verbindung zwischen API und Business Layer mit DTO's Java Basics - Anfänger-Themen 2
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
W User zwischen Optionen wählen lassen Java Basics - Anfänger-Themen 1
I Differenz zwischen LocalDateTime Java Basics - Anfänger-Themen 4
Leo_1789 Differenz ausrechnen zwischen denn idealgewicht und denn echten Gewicht Java Basics - Anfänger-Themen 7
E Wie gebe ich alle Daten zwischen zwei Zeitpunkten aus? Java Basics - Anfänger-Themen 2
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
NeoLexx Zuweisungskompatibilität zwischen Vererbungsbeziehungen (Polymorphie) Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben