我的字符串格式为XxYxZx
X,Y和Z是字符,x是可以在0-999之间变化的数字.
我想以这种形式拆分这个字符串.如何才能做到这一点?
例:
Input: "A155B45C77D89"
Output: "A155", "B45", "C77", "D89"
Run Code Online (Sandbox Code Playgroud)
String myString="A155B45C77D89";
String[] parts = myString.split("(?<=\\d)(?=\\p{Alpha})");
System.out.println(Arrays.toString(parts));
Run Code Online (Sandbox Code Playgroud)
输出:
[A155, B45, C77, D89]
Run Code Online (Sandbox Code Playgroud)
说明:
String.split适用于正则表达式.正则表达式(?<=\d)(?=\p{Alpha})表示"匹配所有以字符串开头的子字符串,后跟字母字符.
在诸如此类的字符串中"A155B45C77D89",此表达式由空子字符串匹配
A155 B45 C77 D89
^ ^ ^
here | |
here |
|
and here
Run Code Online (Sandbox Code Playgroud)