替换仅用于第一个子元素的工作

时间:2014-05-19 14:35:32

标签: javascript jquery

我不想使用拆分或加入。

var str = "cause variety of files";  
alert(str.replace(" " , "_"));

上面的代码输出:"cause_variety of files"

我寻求的输出是:"cause_variety_of_files"

3 个答案:

答案 0 :(得分:3)

试试这段代码:

str.replace(/ /g, "_");

默认情况下,replace函数会替换第一次出现。因此,您必须使用带有global标志的RegExp。

您可以在此处了解有关常规表达式的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

答案 1 :(得分:0)

尝试多个空间

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

或单个空间

str.replace(/\s/g,'_');

答案 2 :(得分:0)

尝试使用正则表达式和replace()函数:

$(document).ready(function() {
    var elem = "cause variety of files";
    console.log(elem.replace(/\s+/g, '_'));
});

正则表达式使用\ s +模式获取所有空格(1或更多)并将其替换为您喜欢的字符串。 在你的情况下是一个下划线。