2012-09-24 19 views
6

Ich brauche eine Zeichenfolge, die durch Bereich Beispiel zu ersetzen:Wie kann ich eine Zeichenfolge durch einen Bereich ersetzen?

string = "this is a string";//I need to replace index 0 to 3 whith another string Ex.:"that" 
result = "that is a string"; 

aber dies muss dinamically sein. Kippe sein ein festes Wort ersetzen ... braucht

von Bereich I

versucht haben
  result = string.replaceAt(0, 'that'); 

aber diese ersetzen nur das erste Zeichen und ich möchte den ersten bis dritten

+0

können Sie mehr Cleat bitte – user1529342

+0

was haben Sie versucht? Haben Sie sich die [Dokumentation] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/prototype#Methods) für String-Methoden angesehen? – jbabey

Antwort

14
function replaceRange(s, start, end, substitute) { 
    return s.substring(0, start) + substitute + s.substring(end); 
} 

var str = "this is a string"; 
var newString = replaceRange(str, 0, 4, "that"); // "that is a string" 
3
var str = "this is a string"; 
var newString = str.substr(3,str.length); 
var result = 'that'+newString 

substr kehrt ein Teil einer Zeichenkette, bei meinem Beispiel beginnt sie bei Zeichen 3 bis zu str.length, um das letzte Zeichen zu haben ...

Um die Mitte einer Zeichenkette zu ersetzen, kann dieselbe Logik verwendet werden ...

var str = "this is a string"; 
var firstPart = str.substr(0,7); // "this is " 
var lastPart = str.substr(8,str.length); // " string" 
var result = firstPart+'another'+lastPart; // "this is another string" 
+2

Sollte wahrscheinlich darauf hinweisen, dass Zeichenfolgen in Javascript unveränderlich sind, also ersetzen Sie nicht so viel wie eine neue Zeichenfolge mit einem anderen Anfang erstellen. –

0

ich einfach substring Anruf wird hier tun

var str = "this is a string"; 
var result = "that" + str.substring(4); 

Schauen Sie sich eine Arbeits jsfiddle.

+0

ja, das wenn ich im ersten char beginnen will, aber wenn ich zum beispiel in dritten anfangen möchte? – DevMobile

+0

@DevMobile, ich bin mir nicht sicher, was du meinst. 'strstring (4)' gibt alle Zeichen vom String vom 4. Index bis zum Ende zurück. –

+0

Ich muss das 4., 5., 6. Zeichen durch einen anderen Wert ersetzen – DevMobile

Verwandte Themen