按字符数字拆分字符串

时间:2016-02-03 11:03:28

标签: java regex

我正在使用以下程序来分割我的字符串。

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 

如何拆分字符串以上述方式获取输出

1 个答案:

答案 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