2015-02-06 45 views
-1

我有字符串"club160",但我想获得字符串"club-160",我该如何做到这一点?我需要使用split() func?对于分割我需要分隔符,但没有逗号或空格。用给定的格式在Javascript中分割字符串

有人可以帮我吗?

+0

这是怎么拆分或爆炸? – 2015-02-06 07:39:13

+1

请详细说明。总是四个字母后跟三位数字?在最后一封信后总是需要一个破折号? – usr2564301 2015-02-06 07:39:24

回答

4

为此,您可以使用正则表达式和替换操作:

var s = "club160" 
var result = s.replace(/([a-z])([0-9])/i, '$1-$2') 

但这只是取代类似aaa111aaa-111111aaa将保持111aaa

1

如果字符串总是包含至少一个数字或字母,请考虑:

var s = 'club160'; 
s.match(/(\d+)|([a-z]+)/ig).join('-'); // club-160 

var t = '160club'; 
t.match(/(\d+)|([a-z]+)/ig).join('-'); // 160-club 

它不关心订单或有多少组字母和数字存在。但是,它至少需要一个字母或数字,否则会引发错误。

作为一个功能,处理错误:

function specialSplit(s) { 

    // Make sure string has at least one letter or digit 
    if (/\d|[a-z]/i.test(s)) { 
    return s.match(/(\d+)|([a-z]+)/ig).join('-'); 
    } 
    // Otherwise return undefined 
}