2015-03-19 67 views
1

任何人都可以用一些正则表达式来帮助我。 我想将以下字符串拆分为字母和数字。拼音字母和数字

例 字符串ns01sp0001分裂后应当

ns01sp0001

我试过用下面的正则表达式。

String array[] = str.split("[^A-Z0-9]+|(?<=[A-Z])(?=[0-9])|(?<=[0-9])(?=[A-Z])"); 

对于上例中是返回

[NS, 01, SP, 0001] 

但较低的情况下,它返回

[, 01, 0001] // not able to get alphabet. 

有没有什么办法让输出像

[NS01SP,0001] // if input = NS01SP0001 
[ns01sp,0001] //if input = ns01sp0001. 
+1

会不会有永远是两个元素?如果不是,按照什么规则'01'成为'ns01sp'的一部分,而不是它自己的元素? – Biffen 2015-03-19 11:28:11

+1

有你的字符串固定长度?或者是最后的4位数字? – Zorian 2015-03-19 11:28:30

+0

它可能是动态的,因为每个问题分析 – 2015-03-19 11:30:24

回答