2010-12-28 3 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/en/JavaScript/Reference/Global_Objects/String/replace – Kobi

ответ

2

Похоже, что функция str.replace имеет только two parameters, а не три.

Так я думаю, вы должны написать

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

вместо этого.

2

Переменная в вашем примере по какой-то причине не используется.

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

Try:

var str = "Apples are round, and apples are juicy."; 
var newstr = str.replace(/apples/gi, "oranges"); 
document.write(newstr); 
Смежные вопросы