11

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

假设我有字符串“A Basket For Every Occasion”,我希望它是“A-Basket-For-Every-Occasion”

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

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

4

3 回答 3

18

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

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, "-");
于 2012-05-22T16:14:53.537 回答
9

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

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

一个变成

"asd-asd-sad"
于 2012-05-22T16:15:49.340 回答
4

尝试

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

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

于 2012-05-22T18:35:11.397 回答