我有一个像 5AA50100FF1837d437d437d40000 这样的字符串流
我想分割,如果它包含 0100FF18 然后 37d4 37d4 37d4 0000 如何做到这一点
我需要拆分流并为该拆分流进行计算
像这样尝试一下。找到目标后,使用
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]