2012-07-04 150 views
4

我有这样的字符串。Javascript拆分删除“:”冒号字符

var a="1:2:3:"; 

我想用a.split(":")拆分它以除去“:”冒号字符。

我想这是结果:

["1","2","3"] 

但相反的a.split(":")的结果是这样的:

["1","2","3",""] 
+0

拆分不正是顾名思义......在这种情况下,拆分3和空。删除最后的冒号 – rlemon

回答

10

使用这种调整方法删除尾随冒号。

function TrimColon(text) 
{ 
    return text.toString().replace(/^(.*?):*$/, '$1'); 
} 

然后,你可以这样调用:

TrimColon(a).split(":") 

如果你想,你当然可以让TrimColon串原型方法,让你做这样的事情:

a.TrimColon().split(":"); 

如果您想使用正则表达式的解释:http://bit.ly/Ol8lsX

+2

为了鲁棒性,我想你应该使用replace(/(^ :) |(:$)/ g,''),以防字符串为':1:2:3:'。 – valentinas

+0

@ valentinas - 为什么不能做出答案?这是一个更好的选择。 – RobG

4

解析这种字符串,你应该剥去从一开始冒号和字符串结束前:

a.replace(/(^:)|(:$)/g, '').split(":")