java 如何将字符串流拆分为不同的流

bz4sfanl  于 2023-01-04  发布在  Java
关注(0)|答案(1)|浏览(189)

我有一个字符串流,如5AA50100FF1837d437d437d40000
我想拆分,例如,如果它包含0100FF18,则为37d4 37d4 37d4 0000如何操作
我需要拆分流并对拆分后的流进行计算

dldeef67

dldeef671#

尝试如下操作:找到目标字符串后,使用index + target.length()查找所需字符串的开头,然后使用find查找每个四个字符的分组,并流式传输MatchResults,获取匹配的分组并作为数组返回,如果没有匹配的目标字符串,则数组为空。

String target = "0100FF18";
String s = "5AA50100FF1837d437d437d40000";

String[] tokens = new String[0];
int index = 0;
if ((index = s.indexOf(target)) >= 0) {
    tokens = Pattern.compile("....")
            .matcher(s.substring(index + target.length())).results()
            .map(MatchResult::group).toArray(String[]::new);

}
System.out.println(Arrays.toString(tokens));

印刷品

[37d4, 37d4, 37d4, 0000]

相关问题