当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在JavaScript中用下划线替换空格?》经验,为你挑选了6个好方法。

我正在尝试使用此代码用_替换空格,它适用于字符串中的第一个空格,但所有其他空格实例保持不变.谁知道为什么?

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

Crescent Fre.. 645

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

编辑:或者.split(' ').join('_')如果你厌恶RE

编辑:John Resig说:

如果您正在搜索并通过静态搜索替换字符串并使用静态替换,则使用.split("匹配")执行操作的速度更快.join("replace") - 这看似违反直觉,但它设法工作这种方式在大多数现代浏览器中 (在下一版本的Firefox中,有一些变化可以大大提高.replace(/ match/g,"replace")的性能 - 所以之前的声明不会长久.)

截至2015年是`.replace(//g,"_");`比`.split('').join('_')`快. (23认同)

.split('').join('_') (12认同)

浏览此@Inez的未来人员有一个链接来测试分裂/加入VS的速度.更换.截至2018年底,替换速度明显加快. (8认同)

而不是`//g`使用`/\/ g` - 都可以在Javascript中使用.后者也适用于CoffeeScript. (7认同)


Adam.. 62

试试这个:

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

那将是一个全局查找/替换

javascript替换



1> Crescent Fre..:

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

编辑:或者.split(' ').join('_')如果你厌恶RE

编辑:John Resig说:

如果您正在搜索并通过静态搜索替换字符串并使用静态替换,则使用.split("匹配")执行操作的速度更快.join("replace") - 这看似违反直觉,但它设法工作这种方式在大多数现代浏览器中 (在下一版本的Firefox中,有一些变化可以大大提高.replace(/ match/g,"replace")的性能 - 所以之前的声明不会长久.)


截至2015年是`.replace(//g,"_");`比`.split('').join('_')`快.
.split('').join('_')
浏览此@Inez的未来人员有一个链接来测试分裂/加入VS的速度.更换.截至2018年底,替换速度明显加快.
而不是`//g`使用`/\/ g` - 都可以在Javascript中使用.后者也适用于CoffeeScript.

2> Adam..:

试试这个:

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

那将是一个全局查找/替换

javascript替换



3> Rich..:

要回答下面Prasanna的问题:

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

您将使用replace具有不同正则表达式的相同函数.空白\s的表达式是和"1次或更多次"的表达式是+加号,所以你只需用以下代码替换Adam的答案:

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



4> Fizer Khan..:

你可以试试这个

 var str = 'hello     world  !!';
 str = str.replace(/\s+/g, '-');

它甚至可以用单个' - '替换多个空格.


可能值得一提:这也会去除制表符其他空白。

5> Inez..:

我为它创建了JS性能测试http://jsperf.com/split-and-join-vs-replace2


一年多以后,在Chrome 32.0.1700.107中运行上述测试.. str.replace()会产生更好的结果(快64%)

6> Arshid KV..:

用下划线替换空格

var str = 'How are you';
var replaced = str.split(' ').join('_');

输出: How_are_you

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有