如何在 JavaScript 中执行 str_replace,替换 JavaScript 中的文本?

IT技术 javascript replace str-replace
2021-02-24 20:41:11

我想使用str_replace或类似的替代方法来替换 JavaScript 中的某些文本。

var text = "this is some sample text that i want to replace";
var new_text = replace_in_javascript("want", "dont want", text);
document.write(new_text);

应该给

this is some sample text that i dont want to replace

如果您要使用正则表达式,与内置替换方法相比,性能有何影响。

6个回答

您将使用以下replace方法:

text = text.replace('old', 'new');

显然,第一个参数是您要查找的内容。它还可以接受正则表达式。

请记住,它并不会改变原来的字符串。它只返回新值。

不区分大小写怎么样?
2021-04-27 20:41:11
非常感谢“它只会返回而不会改变”!这就是我长期以来一直在扯头发的原因,直到我看到你的评论......
2021-05-02 20:41:11
2021-05-04 20:41:11
^ text.replace(/old/gi, 'new') 将所有 'old' 实例替换为 'new' 不区分大小写(例如 'OLD' 和 'oLd' 也将被替换)
2021-05-13 20:41:11
string.replace('old','new') 只会替换字符串中 'old' 的第一个实例。使用带有 'g' 标志的正则表达式(如 realmag777 的答案)将替换字符串的所有实例。text = text.replace(/old/g, 'new') 将替换 'old' 的所有实例
2021-05-16 20:41:11

更简单:

city_name=city_name.replace(/ /gi,'_');

用'_'替换所有空格!

这是对“str_replace”所做的(全局)更准确的翻译。所选答案将仅替换第一个实例。
2021-05-18 20:41:11
不要忘记转义字符,特别是如果您要替换十六进制转义: \x27 例如将是 .replace(/\\x3B/g,';')
2021-05-19 20:41:11

所有这些方法都不会修改原始值,而是返回新字符串。

var city_name = 'Some text with spaces';

用 _替换第一个空格

city_name.replace(' ', '_'); // Returns: "Some_text with spaces" (replaced only 1st match)

使用正则表达式将所有空格替换为 _。如果您需要使用正则表达式,那么我建议您使用https://regex101.com/对其进行测试

city_name.replace(/ /gi,'_');  // Returns: Some_text_with_spaces 

用 _替换所有空格不带正则表达式功能方式。

city_name.split(' ').join('_');  // Returns: Some_text_with_spaces

你应该写这样的东西:

var text = "this is some sample text that i want to replace";
var new_text = text.replace("want", "dont want");
document.write(new_text);

其他人给你的代码只替换一次,而使用正则表达式替换它们全部(就像@sorgit 说的那样)。要将所有“想要”替换为“不想要”,请使用以下代码:

var text = "this is some sample text that i want to replace";
var new_text = text.replace(/want/g, "dont want");
document.write(new_text);

变量“new_text”将导致“这是我不想替换的一些示例文本”。

要获得正则表达式的快速指南,请访问:
http : //www.cheatography.com/davechild/cheat-sheets/regular-expressions/
要了解有关 的更多信息str.replace(),请访问:
https : //developer.mozilla.org/ en-US/docs/JavaScript/Reference/Global_Objects/String/replace
祝你好运!