替换为"“;(空格)不起作用

replace for " " (space) doesn't work

本文关键字:空格 不起作用 quot 替换      更新时间:2023-09-26
<!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>

我想把上面例子中的" picture"中的" "(空格)"替换掉

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

替换后的结果应该是"-1picture-1"但它是"0 picture0"

在图片前面加空格。(我使用。indexof(" ")表示

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

怎么回事?请通知

replace不修改字符串,它返回修改后的字符串。

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

使用String.trim()去掉尾随空格
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/Trim

在你的例子中,

var a = " picture";
a = a.trim();
...

我认为这可以很好地工作…

return str.replace(/'s+/g, '');

为什么我得到了一个否定的投票?

alert("some #$%%&& person gave me a downvote!!".replace(/'s+/g, ''));

这完全工作!!!!!!

http://jsfiddle.net/ncubica/FBxy2/

您需要将返回值赋给a

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

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

var a =" picture";
a = a.replace(/^'s+|'s+$/g,"");