Regex Frage (+ ersetzen)

Status
Nicht offen für weitere Antworten.

EOB

Top Contributor
hallo, ich moechte aus einem string dieser art:


+ ++ +++++ t1+t2+ + + + + +t3+ +t4++ + + +++++ + ++++ ++ +


einen string dieser art


t1+t2+t3+t4


machen. dabei koennen die + auch vollkommen anders auftreten und t1 etc sind nur fantasienamen, die auch komplett anders heissen konnen und auch leerzeichen enthalten koennen. also es ginge auch:


+ ++++++ + + + +++++ das ist sozusagen t1+++ + + t2+ + + + + +t3+ +t4++ + +


daraus muesste dann


das ist sozusagen t1+t2+t3+t4


werden. ich sitz da schon recht lang dran und komm nicht drauf. jemand ne idee?

danke :)
 

DaKo

Bekanntes Mitglied
entferne einfach alle '+' und füge sie an den Stellen, an denen du sie gerne hättest wieder ein
 

EOB

Top Contributor
wie soll das genau aussehen? ich habs jetzt so, scheint mir aber recht laenglisch...geht das auch kuerzer?

Code:
term = "+  ++    +++++   t1 und noch was+t2+   + + + +    +t3+      +t4++ + +  +++++ +  ++++ ++                      ";

	term=term.replaceAll("\\+{2,}", "\\+");
	System.out.println("1" + term + "-");
	
	term=term.replaceAll(" {2,}", "\\+");
	System.out.println("2" + term + "-");
	
	term=term.replaceAll("\\+{2,}", "\\+");
	System.out.println("3" + term + "-");
	
	term=term.replaceAll("(\\+ )+", "\\+");
	System.out.println("4" + term + "-");
	
	term=term.replaceAll("\\+{2,}", "\\+");
	System.out.println("5" + term + "-");
	
	term=term.replaceAll("(^ *\\+*)|(^\\+* *)|( *\\+*$)|(\\+* *$)", "");
	System.out.println("finale:" + term + "-");

???:L

gruesse
 

DaKo

Bekanntes Mitglied
mit regulären Ausdrücken

Code:
String regex = "[ +]*";
term = term.replaceAll(regex,"");
 

EOB

Top Contributor
das wird so nix, weil was ist mit spacespace+? ich denke, es muss komplexer sein, da alle vorkommen von + und space gefunden werden muessen.

noch weitere ideen?

danke im voraus :)
 

DaKo

Bekanntes Mitglied
das funktioniert!

Code:
public class Tests {

  public static void main(String[] args){
	  String term = "  +  ++    +++++   t1 und noch was+t2+   + + + +    +t3+      +t4++ + +  +++++ +  ++++ ++      " ;
	  String regex="[ +]*";
	  term=term.replaceAll(regex, "");
	  System.out.println(term);
    } 
	 
}
 

hupfdule

Top Contributor
Mit

Code:
"[\+\ ]*"

müsste es doch klappen.

Oder falls du statt Leerzeichen auch andere Whitespace-Zeichen hast:

Code:
"[\+\s]*"

Damit findest du ja eine beliebige Folge solcher Zeichen und kannst diese durch + ersetzen.
 

EOB

Top Contributor
was ist aber, wenn es space++spacespacespace+ etc ist? das findet das nicht. also meins sieht jetzt so aus und es funzt, aber ich weiss eben nicht, ob das nicht zu viel ist?

Code:
term = "+ ++ +++++ das ist termt1! + t2+ + + + + +t3+ +t4++ + + +++++ + ++++ ++ + ";

	term=term.replaceAll("\\+{2,}", "\\+");
	System.out.println("1" + term + "-");
	
	term=term.replaceAll(" {2,}", "\\+");
	System.out.println("2" + term + "-");
	
	term=term.replaceAll("\\+{2,}", "\\+");
	System.out.println("3" + term + "-");
	
	term=term.replaceAll("( ?\\+ ?)+", "\\+");
	System.out.println("4" + term + "-");
	
	term=term.replaceAll("\\+{2,}", "\\+");
	System.out.println("5" + term + "-");
	
	term=term.replaceAll("(^ *\\+*)|(^\\+* *)|( *\\+*$)|(\\+* *$)", "");

???:L :autsch:
 

EOB

Top Contributor
es sollen ja dazwischen jeweils EIN + stehenbleiben...siehe mein erstes posting. :?: :!:

danke :)
 

hupfdule

Top Contributor
Ganz unrecht hast du nicht. Statt
Code:
"[\+\s]*"

muss es heißen
Code:
"[\+\s]+"
 

EOB

Top Contributor
also das hier:

Code:
term=term.replaceAll("[+ ]*", "\\+");

macht ++d+a+s++i+s+t++t+e+r+m+t+1+!++t+2++t+3++t+4++- draus. oder wie ist das jetzt gemeint?

gruesse
 

EOB

Top Contributor
ok, also so hier:

Code:
term=term.replaceAll("[+\\s]+", "\\+");

siehts ganz gut aus, aber er ersetzt leerzeichen, wo er nicht soll...siehe erstes posting.

--> + ++++++ + + + +++++ das ist sozusagen t1+++ + + t2+ + + + + +t3+ +t4++ + + geht nicht damit

gruesse
 

hupfdule

Top Contributor
Mørketid hat gesagt.:
also das hier:

Code:
term=term.replaceAll("[+ ]*", "\\+");

macht ++d+a+s++i+s+t++t+e+r+m+t+1+!++t+2++t+3++t+4++- draus. oder wie ist das jetzt gemeint?

gruesse

Ja, war ein Fehler meinerseits. Du musst natürlich auf mindestens ein Zeichen prüfen. Aber da du ja reine Leerzeichen nicht auch ersetzen willst, nimm das hier:

Code:
term.replaceAll("[\\+\\s]*\\+[\\+\\s]*", "+")

Dann wird nur ersetzt, wenn auf jeden Fall ein + drin ist und davor und dahinter beliebig viele weitere + oder Whitespace-Zeichen.


EDIT: Schreibfrequenz zu hoch. Wir überschneiden uns ständig. ;-)
 

EOB

Top Contributor
ja, also das geht nicht...mach ich was falsch, oder wie jetzt :shock: :lol: . also probier mal deine loesung mit diesem term:


term = "+ ++ +++++ +das ist termt1! + t2+ + + + + +t3+ +t4++ + + +++++ + ++++ ++ + ";


was kommt raus?

gruesse
 

hupfdule

Top Contributor
Ich habe sie probiert:

Code:
   String  term = "+ ++ +++++ das ist termt1! + t2+ + + + + +t3+ +t4++ + + +++++ + ++++ ++ + ";
      System.err.println(term);
      System.err.println(term.replaceAll("[\\+\\s]*\\+[\\+\\s]*", "+"));

Ergebnis:

Code:
+ ++ +++++ das ist termt1! + t2+ + + + + +t3+ +t4++ + + +++++ + ++++ ++ + 
+das ist termt1!+t2+t3+t4+

Noch nicht dein gewünschtes Ergebnis?
 

hupfdule

Top Contributor
Dann wirst du wohl doch noch zusätzliche Ausdrücke verwenden müssen, um diese durch "" zu ersetzen. In demselben geht es nicht (und wenn, nur unnötig kompliziert).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Daniel_L RegEx-Frage: Ersetzen in UBB ausschließen Allgemeine Java-Themen 2
H Frage regex greater than less than Allgemeine Java-Themen 7
F Frage zu Regex möglich Allgemeine Java-Themen 4
Loyd Noch ne Regex-Frage: Verschachtelte Ausdrücke Allgemeine Java-Themen 4
R Java Regex Frage Allgemeine Java-Themen 17
M RegEx-Frage Allgemeine Java-Themen 2
D Frage zu nicht funkionierendem RegEx .* Allgemeine Java-Themen 9
GilbertGrape mal wieder ne Regex-Frage Allgemeine Java-Themen 2
A RegEx frage Allgemeine Java-Themen 2
L Frage zu java.util.regex und Einlesen einer Datei Allgemeine Java-Themen 2
M Regex Frage Allgemeine Java-Themen 12
F Frage zu einem RegEx Allgemeine Java-Themen 3
M Regex-Frage Allgemeine Java-Themen 4
M Mal ne Regex Frage Allgemeine Java-Themen 3
N Regex schlägt nicht an Allgemeine Java-Themen 10
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
T regex case insensitive trimmed Allgemeine Java-Themen 6
S Zeichen | in regex Allgemeine Java-Themen 8
X Regex mit mehreren Bedingungen machen Allgemeine Java-Themen 5
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
C Java17 und Regex Allgemeine Java-Themen 13
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
N E-Mail Validator (ohne Regex!) Allgemeine Java-Themen 7
OnDemand Regex von bis Allgemeine Java-Themen 6
W Versionsnummer auslesen - Regex ist zickig Allgemeine Java-Themen 2
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
G Regex Allgemeine Java-Themen 2
L regex ganzer string? Allgemeine Java-Themen 2
MiMa Geldbetrag mit regex ermitteln. Allgemeine Java-Themen 14
W RegEx Stringliteral finden - Jflex Allgemeine Java-Themen 5
D Regex Probleme Allgemeine Java-Themen 2
Kirby.exe Regex charakter ignorieren Allgemeine Java-Themen 12
S Java SAT (Haltbarkeitsproblem) mit Regex Allgemeine Java-Themen 6
S [Regex] Nur diese Zeichen beachten Allgemeine Java-Themen 1
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
J Compilerfehler bis in java.util.regex.Pattern... Allgemeine Java-Themen 2
C PDFBox: Nach RegEx ganze Zeile Allgemeine Java-Themen 4
S Regex mit UND-Verknüpfung Allgemeine Java-Themen 1
P RegEx für Zeiten Allgemeine Java-Themen 7
D Regex: Komplettes Wort bekommen Allgemeine Java-Themen 3
Neumi5694 Operatoren regEx für das Erstellen eines Strings verwenden Allgemeine Java-Themen 3
P RegEx Allgemeine Java-Themen 3
W String Parsen und auf eigenes Muster anwenden (kein Regex) Allgemeine Java-Themen 11
Y regex | n-faches Vorkommen oder gar keins Allgemeine Java-Themen 6
turmaline Regex gegen Regex prüfen Allgemeine Java-Themen 4
HarleyDavidson Regex - Optimierung Allgemeine Java-Themen 4
M Regex für Zahleneingabe in JavaFX Textfield Allgemeine Java-Themen 18
T Best Practice Wortregeln RegEx Allgemeine Java-Themen 11
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
H Interpreter-Fehler Regex kompiliert nicht Allgemeine Java-Themen 5
M RegEx alle Matches ausgeben Allgemeine Java-Themen 5
Iron Monkey Mit Regex nach Beträge suchen Allgemeine Java-Themen 4
T REGEX Erklaerung Allgemeine Java-Themen 14
T Nur innerhalb des regex-Match ersetzen Allgemeine Java-Themen 9
H Pic Download / Regex Problem Allgemeine Java-Themen 7
M Regex... mal wieder Allgemeine Java-Themen 3
H RegEx - Ersetze alles bis Leerzeichen Allgemeine Java-Themen 5
S regex verbrät CPU Allgemeine Java-Themen 6
V Regex Bereichs Filter Allgemeine Java-Themen 4
127.0.0.1 RegEx _ und 0-9 Allgemeine Java-Themen 45
S Entfernen von allen Nicht-Buchstaben chars aus einem String ohne Regex..? Allgemeine Java-Themen 10
P Java String Regex Allgemeine Java-Themen 2
AyKay Regex XPath Allgemeine Java-Themen 4
C Regex (Case insensitive und Umlaute) Allgemeine Java-Themen 4
D Regex Raute erkennen Allgemeine Java-Themen 2
nrg Zweistelligen Zahlenbereich mit RegEx Allgemeine Java-Themen 8
GilbertGrape Regex-Problem Allgemeine Java-Themen 2
W Denkblockade RegEx Allgemeine Java-Themen 2
S eigene regEx schreiben Allgemeine Java-Themen 4
C Regex expandieren Allgemeine Java-Themen 6
C Regex Überschniedung von Ausdrücken Allgemeine Java-Themen 16
reibi RegEX - Teilstring Allgemeine Java-Themen 6
R Java-RegEx terminiert nicht Allgemeine Java-Themen 3
M Regex: Ich stehe auf dem Schlauch Allgemeine Java-Themen 2
V Kleines Regex-Problem Allgemeine Java-Themen 3
B Regex "Problem" Allgemeine Java-Themen 4
B RegEx: (Um-)formulieren eines Pattern zur Identifizierung komplexer URLs Allgemeine Java-Themen 7
P RegEx mit HTML Parser für Java möglich? Allgemeine Java-Themen 10
J Regex: Fertige URLS aus Javascript Allgemeine Java-Themen 3
N Java regex Allgemeine Java-Themen 5
K Regex JSON Allgemeine Java-Themen 3
J RegEx Ausdruck Allgemeine Java-Themen 2
J Regex: URLS aus CSS Allgemeine Java-Themen 2
G RegEx- Ausdruck Allgemeine Java-Themen 4
G RegEx kein Unterstrich Allgemeine Java-Themen 2
A Text via RegEx durchsuchen und teile ersetzten Allgemeine Java-Themen 5
C Regex: Zahl ohne führende Null Allgemeine Java-Themen 13
W RegEx Zeile parsen Medium Allgemeine Java-Themen 8
X Java String Regex - Sonderzeichen Filtern Allgemeine Java-Themen 5
S Dateiname mit Regex parsen Allgemeine Java-Themen 3
M Große Datei mit Regex durchsuchen Allgemeine Java-Themen 4
S regex für einen Link Allgemeine Java-Themen 3
E Regex alles nach ? löschen Allgemeine Java-Themen 4
R Regex Tokenizer Allgemeine Java-Themen 11
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
H RegEX und eMail Allgemeine Java-Themen 4
L-ectron-X Regex zum Entfernen von mehrzeiligen Kommentaren Allgemeine Java-Themen 2
martin82 Regex - JTable - Filter Allgemeine Java-Themen 10
nrg Kleine Hilfe mit RegEx Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben