用字母和数字拆分字符串

时间:2015-03-19 11:26:25

标签: java regex string split

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

实施例 拆分后的字符串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 个答案:

答案 0 :(得分:4)

您可以使用:

String tok[] = str.split("(?<=\\D)(?=\\d+\\b)");

RegEx Demo