我正在使用以下程序来分割我的字符串。
public static void main(String[] args) {
String test = "A1=CA2=BOA2=RA4=O";
String data[] = test.split("[A-a]\\d{1,100}=");
for (String str : data) {
System.out.println("Split data:"+str);
}
}
//Output
Split data:
Split data:C
Split data:BO
Split data:R
Split data:O
//But I want output something like below :
Split data:A1=C
Split data:A2=BO
Split data:A2=R
Split data:A4=O
如何拆分字符串以上述方式获取输出
答案 0 :(得分:6)
使用正向前瞻断言((?=)
):
test.split("(?=[A-Z]\\d{1,100}=)");
此正则表达式将匹配任何后跟(大写字母)的零长度字符串,后跟一个由[1-100]数字组成的数字,后跟=
符号。
<强>输出:强>
Split data:A1=C
Split data:A2=BO
Split data:A2=R
Split data:A4=O