var textTitle = "this is a test"
var result = textTitle.replace(' ', '%20');
但替换函数在“”的第一个实例处停止,我得到了
结果:"this%20is a test"
关于我出错的地方的任何想法我确定它是一个简单的修复。
答案 0 :(得分:181)
你需要/g
,如下所示:
var textTitle = "this is a test";
var result = textTitle.replace(/ /g, '%20');
console.log(result);
You can play with it here,默认.replace()
行为是仅替换第一个匹配,the /g
modifier(全局)告诉它替换所有匹配项。
答案 1 :(得分:7)
textTitle.replace(/ /g, '%20');
答案 2 :(得分:4)
尝试使用正则表达式而不是第一个参数的字符串。
"this is a test".replace(/ /g,'%20')
//#=> “此%图20是%20A%20test”
答案 3 :(得分:2)
replace()方法在子字符串(或正则表达式)和字符串之间搜索匹配,并用新的子字符串替换匹配的子字符串
最好在这里使用正则表达式:
textTitle.replace(/ /g, '%20');
答案 4 :(得分:1)
为此你需要使用正则表达式的g标志.... 像这样:
var new_string=old_string.replace( / (regex) /g, replacement_text);
那个sh
答案 5 :(得分:0)
如果需要从字符串“泛型”正则表达式:
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
答案 6 :(得分:-5)
尝试使用replaceWith()
或replaceAll()