我有字符串"club160"
,但我想获得字符串"club-160"
,我该怎么做?我需要使用split()
func?对于分裂我需要分隔符,但没有逗号或空格。
有人能帮助我吗?
答案 0 :(得分:4)
您可以使用正则表达式和替换操作来执行此操作:
var s = "club160"
var result = s.replace(/([a-z])([0-9])/i, '$1-$2')
但这只会取代aaa111
到aaa-111
之类的内容,111aaa
会留下111aaa
答案 1 :(得分: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
}