Muszę wymienić ciąg znaków:

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

Ale to musi być dynamicznie. Nie można zastąpić stałego słowa ... potrzeba według zasięgu

Próbowałem

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

Ale to zastąpił tylko pierwszy znak i chcę pierwszego trzeciego

14
DevMobile 24 wrzesień 2012, 19:25

3 odpowiedzi

Najlepsza odpowiedź
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"
31
Alexander Pavlov 24 wrzesień 2012, 15:35
var str = "this is a string";
var newString = str.substr(3,str.length);
var result = 'that'+newString

Podręcznik zwraca część sznurka, z moim przykładem, zaczyna się od znaku 3 do str.Length, aby mieć ostatnią postać ...

Aby zastąpić środek łańcucha, ta sama logika może być używana ...

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"
3
Salketer 24 wrzesień 2012, 15:40

I Proste Substring Wezwanie zrobi tutaj

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

Sprawdź działanie jsfiddle.

0
Ash Burlaczenko 24 wrzesień 2012, 15:30