2015-03-19 96 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

回答