2012-09-24 80 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