JavaScript .replace仅替换第一个Match

var textTitle = "this is a test"

var result = textTitle.replace(' ', '%20');

但是替换功能在“”的第一个实例处停止,我得到了


结果: "this%20is a test"


任何关于我哪里出错的想法都确保它是一个简单的解决方案。


一只甜甜圈
浏览 495回答 3
3回答

翻过高山走不出你

您需要/g在那里,像这样:var textTitle = "this is a test";var result = textTitle.replace(/ /g, '%20');console.log(result);你可以用它在这里玩,默认.replace()行为是仅更换第一场比赛,在/g改性剂(全球)告诉它全部替换。

幕布斯7119047

尝试对第一个参数使用正则表达式而不是字符串。"this is a test".replace(/ /g,'%20') //#=>“ this%20is%20a%20test”

慕尼黑5688855

同样,如果您需要来自字符串的“通用”正则表达式:const textTitle = "this is a test";const regEx = new RegExp(' ', "g");const result = textTitle.replace(regEx , '%20');console.log(result); // "this%20is%20a%20test" will be a result
打开App,查看更多内容
随时随地看视频慕课网APP