Ich habe eine Zeichenkette, sagen wir mal Hello world
und ich muss das Zeichen bei Index 3 ersetzen. Wie kann ich ein Zeichen durch Angabe eines Indexes ersetzen?
var str = "hello world";
Ich brauche etwas wie
str.replaceAt(0,"h");
Ich habe eine Zeichenkette, sagen wir mal Hello world
und ich muss das Zeichen bei Index 3 ersetzen. Wie kann ich ein Zeichen durch Angabe eines Indexes ersetzen?
var str = "hello world";
Ich brauche etwas wie
str.replaceAt(0,"h");
@CemKalyoncu: Danke für die tolle Antwort!
Ich habe sie auch leicht angepasst, um sie der Array.splice-Methode ähnlicher zu machen (und habe @Ates' Hinweis berücksichtigt):
spliceString=function(string, index, numToDelete, char) {
return string.substr(0, index) + char + string.substr(index+numToDelete);
}
var myString="hello world!";
spliceString(myString,myString.lastIndexOf('l'),2,'mhole'); // "hello wormhole!"
Wenn Sie Zeichen in einer Zeichenkette ersetzen wollen, sollten Sie veränderbare Zeichenketten erstellen. Dies sind im Wesentlichen Zeichen-Arrays. Sie könnten eine Fabrik erstellen:
function MutableString(str) {
var result = str.split("");
result.toString = function() {
return this.join("");
}
return result;
}
Dann können Sie auf die Zeichen zugreifen, und das gesamte Array wird in eine Zeichenfolge umgewandelt, wenn es als Zeichenfolge verwendet wird:
var x = MutableString("Hello");
x[0] = "B"; // yes, we can alter the character
x.push("!"); // good performance: no new string is created
var y = "Hi, "+x; // converted to string: "Hi, Bello!"
Sie können verketten, indem Sie die Sub-String-Funktion verwenden, indem Sie zuerst den Text vor dem Zielindex und nach dem Zielindex auswählen und dann mit Ihrem potenziellen Zeichen oder String verketten. Dies ist besser
const myString = "Hello world";
const index = 3;
const stringBeforeIndex = myString.substring(0, index);
const stringAfterIndex = myString.substring(index + 1);
const replaceChar = "X";
myString = stringBeforeIndex + replaceChar + stringAfterIndex;
console.log("New string - ", myString)
または
const myString = "Hello world";
let index = 3;
myString = myString.substring(0, index) + "X" + myString.substring(index + 1);
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.