wie kann ich innerhalb eines Strings einen Buchstaben durch mehrere ersetzen ? Hab es mit der
replace Methode versucht, aber das hat noch nicht mal für einen Buchstaben geklappt.
schreibs selber wär das einfachste und zwar so:
die position des zu ersetzenden zeichens bestimmen
den string neu belegen oder einen neuen anlegen und mit substring (teil vor dem zeichen, pass auf nullpointer auf, wenns das erste zeichen ist) neuer string substring(rest ohne das zeichen, wieder auf ne nullpointer exception aufpassen)
Also so sieht das nach der x-sten Version aus. Habe schon aufgegeben einen Buchstaben durch mehrere zu ersetzen und habe dann versucht einen gegen einen anderen auszutauschen, aber noch nicht mal das hat gefunzt.
Du musst bei Result nicht den Strin vorname ausgeben sondern tmpString, also:
Code:
System.out.println("Result = " + tmpString");
habe es jetzt nicht ausprobiert, aber dann müsste dein Versuch mit replace(); funktionieren.
Achso und damit du nicht wie angedroht weinst, so ersetzt man einen Buchstaben in einen String durch einen String:
Code:
public class Probe {
public static void main(String args[])
{
int pos, laenge, i;
String input = "REXREX", firstpart = "", secondpart = "";
//ab hier
laenge = input.length();
for (i = 0; i != laenge;)
{
laenge = input.length();
pos = input.indexOf('X');
if (pos != -1)
{
firstpart = input.substring(0, pos);
if (pos + 1 != laenge)
{
secondpart = input.substring(pos + 1, laenge);
}
else
{
secondpart = "";
}
input = firstpart + "CKS" + secondpart;
}
else
{
i = laenge;
}
laenge = input.length();
}
//bis hier
System.out.println(input);
}
}
Also der relevante Code steht zwischen ab hier und bis hier, bei diesem Beispiel wird aus einem String (hier REXREX) alle X'se zu CKS's.
Das kannst du natürlich beliebig abändern, keine Ahnung ob's leicher geht, so habe ich es jedenfalls in einem Programm von mir gemacht.
will euch ja nicht stören, aber das mit der eigenen variante habe ich schon angesprochen und auch das nutzen der von java gestellten variante wurde schon angesprochen. daher bitte nur noch auf fragen des users eingehen und nicht noch dinge die bereits abgehandelt wurden ansprechen. danke