Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript替换全部";%20“;有空位_Javascript - Fatal编程技术网

Javascript替换全部";%20“;有空位

Javascript替换全部";%20“;有空位,javascript,Javascript,是否有一种方法可以使用JavaScript将每个“%20”替换为一个空格。我知道如何用空格替换单个“%20”,但如何替换所有空格 var str = "Passwords%20do%20not%20match"; var replaced = str.replace("%20", " "); // "Passwords do%20not%20match" 在regexp中使用global标志: var replaced = str.replace(/%20/g, " ");

是否有一种方法可以使用JavaScript将每个“%20”替换为一个空格。我知道如何用空格替换单个“%20”,但如何替换所有空格

var str = "Passwords%20do%20not%20match";   
var replaced = str.replace("%20", " "); // "Passwords do%20not%20match"

在regexp中使用
global
标志:

var replaced = str.replace(/%20/g, " ");
                                ^
看看这个:

简短答复:

str.replace(/%20/g, " ");
编辑: 在这种情况下,您还可以执行以下操作:

decodeURI(str)

百分比
%
符号后跟两个十六进制数字(UTF-8字符表示)通常表示已编码为URI一部分的字符串。这确保了原本具有特殊含义的字符不会相互干扰。在您的例子中,
%20
可立即识别为空白字符-虽然在URI中没有任何真正意义,但它被编码以避免将字符串分成多个“部分”

别误会我的意思!然而,任何值得关注的web技术都会在其库中为您提供这样的工具。为什么要重新发明轮子

var str='xPasswords%20do%20not%20match';
console.log(decodeURI(str));//“xPasswords不匹配”

Javascript同时具有这两种语言,与它们的和对应的语言略有不同-您应该熟悉文档。

如果您想使用jQuery,您可以使用它,如果您需要删除末尾的空格,那么这里有一个解决方案:

const stringQ1=(string)=>{
//删除结尾处的空白
常量arrString=string.split(“”)
for(设i=arrString.length-1;i>=0;i--){
设char=arrString[i];
if(char.indexOf(“”>=0){
arrString.拼接(i,1)
}否则{
打破
}
}
让start=0;
let end=arrString.length-1;
//添加%20
while(开始<结束){
if(arrString[start].indexOf(“”)>=0){
arrString[start]=%20
}
启动++;
}
返回arrString.join(“”);
}
console.log(stringQ1(“John Smith先生”)
使用
unescape(stringValue)

var str=“密码%20do%20not%20match%21”;

document.write(unescape(str))
您可以使用
window.decodeURIComponent()
,但它将转换的不仅仅是“%20”。不,这不是完全重复的。还有一个更深层次的问题,这里有一个答案成功地解决了这个问题。我很惊讶地看到,这是唯一一个没有尝试实际替换字符串中的内容的答案。这是处理这种情况的正确方法。
decodeURIComponent
将按预期工作,不建议使用
unescape
——有关详细信息,请参阅顶部的巨大红色警告。