为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript .replace仅替换第一个Match

JavaScript .replace仅替换第一个Match

var textTitle = "this is a test"var result = textTitle.replace(' ', '%20');但是替换功能在“”的第一个实例处停止,我得到了结果: "this%20is a test"任何关于我哪里出错的想法都确保它是一个简单的解决方案。
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

您需要/g在那里,像这样:


var textTitle = "this is a test";

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


console.log(result);

你可以用它在这里玩,默认.replace()行为是仅更换第一场比赛,在/g改性剂(全球)告诉它全部替换。


查看完整回答
反对 回复 2019-11-29
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

尝试对第一个参数使用正则表达式而不是字符串。


"this is a test".replace(/ /g,'%20') //#=>“ this%20is%20a%20test”


查看完整回答
反对 回复 2019-11-29
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

同样,如果您需要来自字符串的“通用”正则表达式:


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


查看完整回答
反对 回复 2019-11-29
  • 3 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信