Teil eines Strings ändern
Jürgen Berkemeier
- javascript
Hallo,
ich möchte gern einen Teil eines Strings veränedern, habe aber damit Probleme:
var txt="abcde";
txt.substr(2,1)="x"; --> kann dem Ergebnis einer Funktion nicht zugewiesen werden
txt[2]="x"; --> nichts passiert, keine Fehlermeldung, keine Änderung. Welche Möglichkeiten gibt es noch?
Gruß, Jürgen
ich möchte gern einen Teil eines Strings veränedern, habe aber damit Probleme:
txt.substr(2,1)="x"; --> kann dem Ergebnis einer Funktion nicht zugewiesen werden
substr(ing) _liefert_ einen String zurück. Das heißt, Du mußt den String selbst basteln. Schreib Dir halt einmal eine prototype-Methode, und gut is'.
txt[2]="x"; --> nichts passiert, keine Fehlermeldung, keine Änderung. Welche Möglichkeiten gibt es noch?
Und versuche Dich nicht in abgeleiteter Phantasiesyntax.
Hallo,
Und versuche Dich nicht in abgeleiteter Phantasiesyntax.
laut http://selfhtml.teamone.de/javascript/objekte/string.htm geht es so zumindestens im NN. In C übrigens auch!
Gruß, Jürgen
Und versuche Dich nicht in abgeleiteter Phantasiesyntax.
laut http://selfhtml.teamone.de/javascript/objekte/string.htm geht es so zumindestens im NN. In C übrigens auch!
Bitte welchen Satz meinst Du? Ich sehe da nichts.
Und die Bedeutung des Begriffs Ableitung ist Dir klar?
Hallo,
Bitte welchen Satz meinst Du? Ich sehe da nichts.
Auszug aus Selfhtml:
<html><head><title>Test</title>
<script type="text/javascript">
<!--
var Name = "Hans";
alert(Name[0] + Name[1] + Name[2] + Name[3]);
//-->
</script>
</head>
<body>
</body></html>
Erläuterung:
Das Beispiel, das in dieser Form allerdings nur mit Netscape, nicht mit dem MS Internet Explorer und Opera 5.12 funktioniert, definiert eine Variable mit den Namen Name. Diese Variable erhält den Wert "Hans". In einem Meldungsfenster wird anschließend zeichenweise dieser Wert der Variablen Name ausgegeben. Das Ergebnis ist das gleiche, wie wenn einfach alert(Name) notiert würde. Aber an dieser Notationsform können Sie erkennen, wie Zeichenketten funktionieren: Name[0] ist das H, Name[1] das a, Name[2] das n und Name[3] das s. Es wird also immer bei 0 zu zählen begonnen.
Meine Frage ist eigentlich auch nur, wie kann ich in standardkonform Teile von Strings ändern.
Gruß, Jürgen
Moin!
[pref:t=66303&m=378178]
Die Methode heisst "replace"
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo,
Die Methode heisst "replace"
die kenne ich natürlich. Aber was ist, wenn der Teil, den ich überschreiben möchte, mehrmals vorkommt? Klar kann ich ermitteln, das wievielte Vorkommen ich ändern muss, aber dann kann ich auch den String zerlegen und neu zusammenkleben.
Gruß, Jürgen
Moin!
Wenn der Topf aber nun ein Loch hat, lieber fastix®, was dann??
Der zu ersetzende Teil wird mittels eines regulären Ausdruck beschrieben. Wenn Dir dieser zu kompliziert zu erstellen ist, so ist es Dir freigestellt eine andere Dir genehme Methode zu benutzen.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo,
ich habe jetzt den String Buchstabenweise in ein Array kopiert und dadurch kann ich natürlich problemlos Teile durch andere ersetzen, wenn die Länge bleibt.
Trotzden würde es mich interessieren, wie man mit regulären Ausdrücken gezielt auf einen Teilstring zugreifen kann, der mehrmals vorkommt. Z.B möchte ich nur das 5. "x" in einem String durch ein "u" ersetzen.
Gruß, Jürgen