简体   繁体   English

String.split()无法正常工作

[英]String.split() is not working

I have to split a string in this way : 我必须以这种方式拆分字符串:

String s = "00JS1B4BJG2C2G3S6C6S5CHG1C4CKS3C1G5S6B3G7BHB7G6G5B";
String[] result = s.substring(2).split("(?<=\\G.{2})");

The correct result is: 正确的结果是:

["JS","1B","4B","JG","2C","2G","3S","6C","6S","5C","HG","1C","4C","KS","3C","1G","5S","6B","3G","7B","HB","7G","6G","5B"]

And this is working in Java, but in Android it returns: 这在Java中有效,但在Android中它返回:

["JS", "1B4BJG2C2G3S6C6S5CHG1C4CKS3C1G5S6B3G7BHB7G6G5B"]

...as I can see when debugging: ...如我在调试时所看到的:

在此处输入图片说明

Any ideas? 有任何想法吗?

Try using this expression ( G.. instead of G.{2} ): 尝试使用以下表达式(用G..代替G.{2} ):

s.split("(?<=\\G..)")

Or you can appending space every two step ( using as delimiter ) : 或者,您可以每两步追加一个空格(用作定界符):

s = s.replaceAll("..(?!$)", "$0 ");
s.split(" ");

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

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