Hallo,

noch einfacher sind org.apache.commons.lang.StringUtils - open Source versteht sich.

mfg

Dieter Bender


Zitat Zitat von kuempi von stein
wie wärs mal mit nem guten javabuch?
oder ner guten suchmaschine?

hab mal im netz gesucht und das hier gefunden:

Wie kann ich in einem String oder StringBuffer mehrere Zeichen
suchen und ersetzen?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
Mit

String String#replace(char,char)

kann ich nur einzelne Zeichen suchen und mit

StringBuffer replace(int,int,String)

nur ersetzen aber nicht suchen.

Lösung:

Eine gute Hausaufgabe. Was man hier braucht, ist eine Kombination von

int String#indexOf(String,int),
String String#substring(int,int)

mit einem neu aufzubauenden StringBuffer.

bzw.

int StringBuffer#indexOf(String,int)
StringBuffer#replace(int,int,String)


Die folgende Lösung ist eine unter vielen und ersetzt alle Vorkommen von
"search" in "source" mit "replace":

public static String replaceAll(String source, String search,
String replace) {
if(search.equals(replace)) {
return source; //kann ja sein, dass wir nichts tun müssen
}

StringBuffer result = new StringBuffer();
int len = search.length();
if(len == 0) {
return source; //verhindert Endlosschleife bei search.equals("");
}

int pos = 0; //position
int nPos; //next position
do {
nPos = source.indexOf(search, pos);
if(nPos != -1) { //gefunden
result.append(source.substring(pos, nPos));
result.append(replace);
pos = nPos+len;
} else { //nicht gefunden
result.append(source.substring(pos)); //letzter abschnitt
}
} while(nPos!= -1);

return result.toString();
}

Da sowas praktisch überall gebraucht wird, gibt es unzählige
Bibliothek(chen) im Netz, die so etwas anbieten, z.B.

URL:http://ostermiller.org/utils/StringHelper.java.html


hoffe das hilft dir weiter.

kuempi