在字母和数字中拆分字符串

Sne*_*tel 2 java regex string split

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

ns01sp0001拆分后的示例字符串应该是

ns01sp0001

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

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

对于大写,它是返回

[NS, 01, SP, 0001]
Run Code Online (Sandbox Code Playgroud)

但对于小写,它是回报

[, 01, 0001] // not able to get alphabet.
Run Code Online (Sandbox Code Playgroud)

有什么办法可以得到像

[NS01SP,0001] // if input = NS01SP0001
[ns01sp,0001] //if input = ns01sp0001.
Run Code Online (Sandbox Code Playgroud)

anu*_*ava 5

您可以使用:

String tok[] = str.split("(?<=\\D)(?=\\d+\\b)");
Run Code Online (Sandbox Code Playgroud)

正则表达式演示