我正在尝试使用此代码用_替换空格,它适用于字符串中的第一个空格,但所有其他空格实例保持不变.谁知道为什么?
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替换
尝试 .replace(/ /g,"_");
编辑:或者.split(' ').join('_')
如果你厌恶RE
编辑:John Resig说:
如果您正在搜索并通过静态搜索替换字符串并使用静态替换,则使用.split("匹配")执行操作的速度更快.join("replace") - 这看似违反直觉,但它设法工作这种方式在大多数现代浏览器中 (在下一版本的Firefox中,有一些变化可以大大提高.replace(/ match/g,"replace")的性能 - 所以之前的声明不会长久.)
试试这个:
key=key.replace(/ /g,"_");
那将是一个全局查找/替换
javascript替换
要回答下面Prasanna的问题:
如何在Javascript中用单个空格替换多个空格?
您将使用replace
具有不同正则表达式的相同函数.空白\s
的表达式是和"1次或更多次"的表达式是+
加号,所以你只需用以下代码替换Adam的答案:
key=key.replace(/\s+/g,"_");
你可以试试这个
var str = 'hello world !!'; str = str.replace(/\s+/g, '-');
它甚至可以用单个' - '替换多个空格.
我为它创建了JS性能测试http://jsperf.com/split-and-join-vs-replace2
用下划线替换空格
var str = 'How are you'; var replaced = str.split(' ').join('_');
输出: How_are_you