Javascript:如何将字符串中的子字符串替换为%char';里面是什么

Javascript:如何将字符串中的子字符串替换为%char';里面是什么,javascript,Javascript,我有一段代码用另一个字符串替换字符串的一部分。 我是这样做的: newTextStr = orgTextStr.replace(linkTextStr, shortUrlStr); 这与预期的一样有效,除非我有带编码URL的字符串,字符串中包含%,例如: orgTextStr="#nodejs #reactjs #remotework #remotejobs https://fullstackjob.com/job/1Ud13TqJNn6S5JxzX3MrdqB0dEk/Sr.%2520F

我有一段代码用另一个字符串替换字符串的一部分。 我是这样做的:

newTextStr = orgTextStr.replace(linkTextStr, shortUrlStr);
这与预期的一样有效,除非我有带编码URL的字符串,字符串中包含%,例如:

orgTextStr="#nodejs #reactjs #remotework #remotejobs   https://fullstackjob.com/job/1Ud13TqJNn6S5JxzX3MrdqB0dEk/Sr.%2520Full%2520Stack%2520Developer%252C%2520Node-React%2520%255B100%2525%2520REMOTE%255D"
linkTextStr="fullstackjob.com/job/1Ud13TqJNn6S5JxzX3MrdqB0dEk/Sr.%252520Full%252520Stack%252520Developer%25252C%252520Node-React%252520%25255B100%252525%252520REMOTE%25255D"
shortUrlStr="go4.li/123"

如果你希望你的输入有URL编码的字符串——如果因为任何原因,这对你来说是个问题,那么请考虑使用.< /P> 例如:

newTextStr = orgTextStr.replace(decodeURI(linkStr), shortUrlStr);

这段代码运行良好。请将
linkStr
更改为
linkTextStr

orgTextStr=“此url在https://fullstackjob.com/job/1Ud13TqJNn6S5JxzX3MrdqB0dEk/Sr.%20Full%20Stack%20Developer “之前”
linkTextStr=”https://fullstackjob.com/job/1Ud13TqJNn6S5JxzX3MrdqB0dEk/Sr.%20Full%20Stack%20Developer"
shortUrlStr=“go4.li/123”
newTextStr=orgTextStr.replace(linkTextStr,shortUrlStr);

console.log(newTextStr)
你完全正确,我现在发现了问题。不管出于什么原因,我的linkTextStr是双重编码的,当然不匹配。我真丢脸。。。