2010-12-28 25 views
1
var re = /apples/gi; 
var str = "Apples are round, and apples are juicy."; 
var newstr = str.replace("apples", "oranges","gi"); 
document.write(newstr); 

それはなぜならケース非感受性の出力oranges are round, and oranges are juicy.、その代わりに、それはApples are round, and oranges are juicy.なぜこの正規表現は正しく出力されませんか?

なぜを出力すべき?

+1

"非標準"と表示されています:https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/replace – Kobi

答えて

2

str.replace機能にはtwo parametersが3つではなく、そのように見えます。

だから私は、あなたの代わりに

var newstr = str.replace(/apples/gi, "oranges"); 

を記述する必要が推測します。

2

例の変数reは何らかの理由で使用されていません。

var str = "Apples are round, and apples are juicy."; 
var newstr = str.replace(/apples/gi, "oranges"); 
document.write(newstr); 
3

.replace()方法ではなく、このように、あなたが作成した正規表現を使用し、その署名がありません:

var re = /apples/gi; 
var str = "Apples are round, and apples are juicy."; 
var newstr = str.replace(re, "oranges"); 

You can test it here

0

試してみてください。それはすべてのブラウザでは動作しませんので

var str = "Apples are round, and apples are juicy."; 
var newstr = str.replace(/apples/gi, "oranges"); 
document.write(newstr); 
関連する問題