简体   繁体   English

按字符数字分割字符串

[英]Split string by character numeric

I am using below program to split my string. 我正在使用下面的程序来分割我的字符串。

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 

How do I split my string to get output in the above way 我如何分割我的字符串以上述方式获得输出

Use the positive look-ahead assertion ( (?=) ): 使用肯定的前瞻断言( (?=) ):

test.split("(?=[A-Z]\\d{1,100}=)");

This regex will match any zero-length string that is followed by (Capital letter), followed by a number consists of [1-100] digits, followed by = sign. 此正则表达式将匹配任何零长度字符串,后跟(大写字母),后跟一个由[1-100]位数字组成的数字,后跟=号。

Output: 输出:

Split data:A1=C
Split data:A2=BO
Split data:A2=R
Split data:A4=O

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM