我需要重新使用jQuery或香草字符串的JavaScript破折号替换空间,使所有字母小写
比方说,我们有"Sonic Free Games"
。
我想将其转换为"sonic-free-games"
。
所以空格应该用破折号代替,所有的字母都转换成小写字母。
对此有任何帮助吗?
我需要重新使用jQuery或香草字符串的JavaScript破折号替换空间,使所有字母小写
比方说,我们有"Sonic Free Games"
。
我想将其转换为"sonic-free-games"
。
所以空格应该用破折号代替,所有的字母都转换成小写字母。
对此有任何帮助吗?
,只用字符串replace
和toLowerCase
方法,例如:
var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase();
console.log(str); // "sonic-free-games"
通知上RegExp
的g
标志,它将使在字符串中替换全球,如果它不使用,只第一次出现将被替换,并且RegExp
将匹配一个或多个空格字符。
以上答案可以被认为是有点混淆。 字符串方法不是修改原始对象。他们返回新对象。 它必须是:
var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str
我认为重要的是要注意,接受的答案是编辑纳入这个概念 – 2015-08-31 18:20:44
@GeorgeJempty谢谢那位信息+1 – 2016-08-08 17:28:54
您还可以使用split
和join
:
"Sonic Free Games".split(" ").join("-").toLowerCase(); //sonic-free-games
我想出了使用变化\ W代表任何非字母数字字符。这对于'A&P杂货店'这样的东西很有用,它会变成'一家杂货店'。 'str.replace(/ \ W +/g,' - ')。toLowerCase();' – 2014-12-05 20:15:53
注意不要引用正则表达式部分,即'replace(/ \ s +/g,..'和** not **'replace ('/ \ s +/f',..'(没有撇号) – 2015-06-01 09:22:06