Java:十六进制字符串由十六进制字节和正则表达式拆分

Java:十六进制字符串由十六进制字节和正则表达式拆分,java,regex,Java,Regex,我想使用Split()、regex或任何其他方便的方法在Java中拆分十六进制字符串。 我想做的是在一个特殊的十六进制字节处拆分它 例如: String hex = "1234567E1237E6787E4321"; String del = "7E"; // ~ hex.split( ????? ); 结果应该是: 123456 1237E678 4321 如果我使用十六进制分割(del)我得到: 123456 123 678 4321 为什么不应在7E上拆分1237E678?你做这个决

我想使用Split()、regex或任何其他方便的方法在Java中拆分十六进制字符串。 我想做的是在一个特殊的十六进制字节处拆分它

例如:

String hex = "1234567E1237E6787E4321";
String del = "7E"; // ~
hex.split( ????? );
结果应该是:

123456
1237E678
4321
如果我使用十六进制分割(del)我得到:

123456
123
678
4321

为什么不应在
7E
上拆分
1237E678
?你做这个决定的理由是什么?因为它也会以半字节进行拆分,这不是有意的,而是
hex.split(“(?如果你写一个私有方法,它不使用正则表达式,也会同样有效,如果不是更有效的话。而且它不是很多代码;只是一个列表和一个短循环。太好了,这很有效!!