1

我搜索了不同的网站,向我展示了在 js 中替换字符串的方法。但实际上它不起作用!为什么?

我正在使用的代码:

var str = "This is html. This is another HTML";
str = str.replace('/html/gi','php');

输出: This is html. This is another html

什么都没有改变。令人沮丧!

我用过的参考资料:

4

4 回答 4

4

没有引号:

str = str.replace(/html/gi,'php');

RegExp对象可以用其文字格式表示:

/I am an actual object in javascript/gi
于 2012-10-22T14:25:44.907 回答
1

删除引号以使其工作。//是一个正则表达式,不能被引用。

str = str.replace(/html/gi,'php');

或者你可以写:

str = str.replace(new RegExp('html','gi'),'php');

非标准的符合方法是这样的(仅在某些浏览器中有效,不推荐!)

str.replace("apples", "oranges", "gi");
于 2012-10-22T14:26:22.587 回答
0

从正则表达式中删除单引号,如下所示:

var str = "This is html. This is another HTML";
str = str.replace(/html/gi,'php');
于 2012-10-22T14:27:20.823 回答
0

str = str.replace(/html/, 'php');

你不应该为第一个参数加上单引号或双引号。

于 2012-10-22T14:28:21.987 回答