2012-09-24 63 views
6

我需要范围 实施例替换字符串:如何用范围替换字符串?

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

但这种需要是dinamically。不能被取代固定字...需要时可使用范围

我已经试过

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

但这仅替换第一个字符,我想第一至第三

+0

你能不能更多分心请 – user1529342

+0

你试过了什么?你是否查看了字符串方法的[documentation](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/prototype#Methods)? – jbabey

回答

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回报一个字符串的一部分,用我的例子,它开始于字符3到str.length以具有最后一个字符...

要替换字符串的中间,可以使用相同的逻辑...

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

应该指出字符串在JavaScript中是不可变的,所以你不会像创建一个具有不同开始的新字符串那样进行替换。 –

0

我简单substring电话将在这里做

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

退房工作jsfiddle

+0

是的,如果我想从第一个字符开始,但是如果我想以第三个字符开始呢? – DevMobile

+0

@DevMobile,我不确定你的意思。 'str.substring(4)'将返回从第4个索引到结尾的所有字符。 –

+0

我需要用其他值替换第4个,第5个,第6个字符 – DevMobile