在具有给定格式的Javascript中拆分字符串

时间:2015-02-06 07:37:41

标签: javascript

我有字符串"club160",但我想获得字符串"club-160",我该怎么做?我需要使用split() func?对于分裂我需要分隔符,但没有逗号或空格。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:4)

您可以使用正则表达式和替换操作来执行此操作:

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

但这只会取代aaa111aaa-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
}