用连字符替换字符串中的空格

时间:2012-05-22 16:12:43

标签: javascript recursion indexof

我有一个字符串,我需要修复它才能将其附加到查询中。

说我有字符串“适合每个场合的篮子”,我希望它是“A-Basket-For-Every-Occasion”

我需要找一个空格并用连字符替换它。然后,我需要检查字符串中是否还有其他空格。如果没有,返回固定字符串。如果是,请再次运行相同的过程。

听起来像是一个递归函数,但我不知道如何设置它。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:16)

您可以使用这样的正则表达式替换:

var str = "A Basket For Every Occasion";
str = str.replace(/\s/g, "-");

正则表达式中的“g”标志将导致所有空格被替换。


您可能希望将多个空格折叠为单个连字符,这样您就不会连续多个破折号。这看起来像这样:

var str = "A Basket For Every Occasion";
str = str.replace(/\s+/g, "-");

答案 1 :(得分:6)

全局使用替换并查找空格\s(标记g)

var a = "asd asd sad".replace(/\s/g,"-");

a成为

"asd-asd-sad"

答案 2 :(得分:4)

尝试

value = value.split(' ').join('-');

我用它来摆脱我的空间。我没有使用连字符,而是将其设为空并且工作得很好。这也是JS。 .split(limiter)将删除限制器并将字符串片段放入一个数组(没有限制器元素),然后您可以使用连字符连接数组。