2012-09-24 26 views
6

tôi cần phải thay thế một chuỗi dãy Ví dụ:Làm cách nào để thay thế chuỗi theo phạm vi?

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

nhưng điều này cần phải được dinamically. Không thể được thay thế một từ cố định ... cần thiết bởi nhiều

Tôi đã thử

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

nhưng điều này chỉ thay thế ký tự đầu tiên và tôi muốn là người đầu tiên ba

+0

bạn có thể ăn nhiều hơn nữa không, vui lòng – user1529342

+0

bạn đã thử gì? bạn đã xem [tài liệu] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/prototype#Methods) cho các phương thức chuỗi chưa? – jbabey

Trả lời

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 

lợi nhuận substr một phần của một chuỗi, với exemple của tôi, nó bắt đầu từ ký tự 3 lên đến str.length để có ký tự cuối cùng ...

Để thay thế giữa một chuỗi, cùng một logic có thể được sử dụng ...

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

Có lẽ nên chỉ ra rằng các chuỗi là bất biến trong javascript, vì vậy bạn không thay thế quá nhiều như tạo một chuỗi mới với một khởi đầu khác. –

0

tôi đơn giản substring cuộc gọi sẽ làm ở đây

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

Check-out một jsfiddle làm việc.

+0

vâng, điều này nếu tôi muốn bắt đầu bằng char đầu tiên, nhưng nếu tôi muốn bắt đầu bằng thứ ba chẳng hạn? – DevMobile

+0

@DevMobile, tôi không chắc chắn ý của bạn là gì. 'str.substring (4)' sẽ trả về tất cả các ký tự từ chuỗi từ chỉ mục thứ 4 đến cuối. –

+0

Tôi cần thay thế ký tự thứ 4, thứ 5, thứ 6 bằng giá trị khác – DevMobile

Các vấn đề liên quan