在JavaScript中用下划线代替空格?

我试图用这个代码来替换空格_,它用于字符串中的第一个空格,但所有其他空间实例保持不变。 任何人都知道为什么?

function updateKey()
{
    var key=$("#title").val();
    key=key.replace(" ","_");
    $("#url_key").val(key);
}

尝试.replace(/ /g,"_");

编辑:或.split(' ').join('_')如果您对RE感到厌恶

编辑:约翰Resig说:

如果你使用静态搜索和静态替换通过一个字符串进行搜索和替换,使用.split(“match”)执行动作的速度会更快。join(“replace”) - 这看起来违反直觉,但它能够工作这在大多数现代浏览器中都是如此。 (在Firefox的下一个版本中,改变.replace(/ match / g,“替换”)的性能正在发生变化 - 因此前面的声明不会太长。)


尝试这个:

key=key.replace(/ /g,"_");

这将做一个全球性的查找/替换

javascript替换


回答Prasanna的问题如下:

如何用Javascript中的单个空格替换多个空格?

您可以使用与正则表达式不同的相同函数replace 。 空格的表达式是s ,“1次或更多次”的表达式是+加号,所以您只需将Adam的答案替换为以下内容:

key=key.replace(/s+/g,"_");
链接地址: http://www.djcxy.com/p/94205.html

上一篇: Replacing spaces with underscores in JavaScript?

下一篇: How to run Scrapy project in Jupyter?