Javascript 替换为“&引用;(空格)不';行不通 单击按钮以查找字符串中指定值出现的位置 试试看 函数myFunction() { var a=“图片”; a、 替换(“,”); var n=a.indexOf(“”); document.getElementById(“demo”).innerHTML=n+a+n; }

Javascript 替换为“&引用;(空格)不';行不通 单击按钮以查找字符串中指定值出现的位置 试试看 函数myFunction() { var a=“图片”; a、 替换(“,”); var n=a.indexOf(“”); document.getElementById(“demo”).innerHTML=n+a+n; },javascript,html,Javascript,Html,我想将上面示例中“图片”中的“”替换为“(空格) 但结果似乎不是被replace命令替换 替换后的结果应为“-1图片-1”,但为“0图片0” 图片前面有一个空格。(I使用.indexOf(“”)表示 变量中是否有空格-1表示没有) 发生了什么事??请告知replace不会在适当的位置修改字符串,它会返回一个修改过的字符串 <!DOCTYPE html> <html> <body> <p id="demo">Click the button to

我想将上面示例中“图片”中的“”替换为“(空格)

但结果似乎不是被replace命令替换

替换后的结果应为“-1图片-1”,但为“0图片0”

图片前面有一个空格。(I使用.indexOf(“”)表示

变量中是否有空格-1表示没有)


发生了什么事??请告知

replace
不会在适当的位置修改字符串,它会返回一个修改过的字符串

<!DOCTYPE html>
<html>
<body>

<p id="demo">Click the button to locate where in the string a specifed value occurs.</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction()
{
var a =" picture";
a.replace(" ","");


var n=a.indexOf(" ");
document.getElementById("demo").innerHTML= n+a+n;
}
</script>

</body>
</html>
使用
String.trim()
删除尾随空格。

以你为例,

a = a.replace(" ","");

您需要将返回值分配回
a

var a = " picture";
a = a.trim();
...
编辑:

我还想指出,
.replace(“,”)
只适用于空格的第一个实例,甚至可能不在字符串的开头。如果你只想修剪前导和尾随空格,请考虑如下:

var a =" picture";
a = a.replace(" ","");

我认为这可以很好地工作

var a =" picture";
a = a.replace(/^\s+|\s+$/g,"");
为什么我投了反对票

return str.replace(/\s+/g, '');
这完全有效


仅供参考。如果字符串中有超过1个空格,并且您希望全部替换,请使用
。替换(//g')
。如果OP不需要支持IE 8,则可以使用此选项……但由于它还返回修改后的值,而不是就地操作,因此无法解决问题。(尽管您在示例中所做的额外的、无法解释的更改是)Person ncubica=new Person();If(downVote(ncubica)){ncubica.rage();}
alert("some #$%%&& person gave me a downvote!!".replace(/\s+/g, ''));