2010-07-20 41 views
23

Trong PHP, bạn làm điều này để thay thế nhiều hơn một giá trị tại một thời điểm.nhiều thay thế bằng javascript

<?php 
$string = "i am the foobar"; 

$newstring = str_replace(array('i', 'the'), array('you', 'a'), $string); 

echo $newstring; 
?> 

Bạn làm điều này bằng javascript như thế nào?

+4

Có câu trả lời tốt hơn trong một câu hỏi khác trên Stackoverflow . Theo tôi, các câu trả lời hay nhất là [ở đây] (http://stackoverflow.com/questions/15604140/replace-multiple-strings-with-multiple-other-strings) – CodeChops

Trả lời

54

Sử dụng phương thức .replace() của javascript, xâu chuỗi nhiều thay thế cùng nhau. ví dụ:

var somestring = "foo is an awesome foo bar foo foo"; //somestring lowercase 
var replaced = somestring.replace(/foo/g, "bar").replace(/is/g, "or"); 
// replaced now contains: "bar or an awesome bar bar bar bar" 
+0

Tuyệt vời chỉ là những gì tôi đang tìm kiếm ... Tôi đã xử lý các chuỗi động vì vậy tôi đã kết thúc tìm kiếm một cái gì đó như var exp = new RegExp (foo, 'g'); somestring.replace (exp, 'bar'); – afreeland

+0

Giải pháp tuyệt vời rất tốt. –

11

Bạn có thể làm:

http://jsfiddle.net/ugKRr/

var string = "jak har en mamma"; 

string = string.replace(/(jak)|(mamma)/g,function(str,p1,p2) { 
     if(p1) return 'du'; 
     if(p2) return 'pappa'; 
    }); 

hay:

http://jsfiddle.net/ugKRr/2/

var string = "jak har en mamma"; 

string = string.replace(/jak/g,'du').replace(/mamma/g,'pappa'); 
Các vấn đề liên quan