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
Bookmarks