我尝试用字节值拆分一些String。 喜欢"第一个\ x00second"通过0x00分配器。我发现编译器不能将\ x标记与变量结合起来。
static public ArrayList split_by_byte(String value, byte spliter) {
if (spliter < 0)
throw new IllegalArgumentException("Отрицательное значение разделителя: " + spliter);
ArrayList<String> result = new ArrayList();
String[] groups = value.split("[\\x" + spliter + "]");
for (String group : groups) {
result.add(group);
}
return result;
}
如何在\ xNN等模式中使用变量值?
答案 0 :(得分:1)
在正则表达式中,您不能在单引号/非内插字符串中使用\ x。它必须由词法分析员看到。
因为代字号不是元字符。
添加使用正则表达式&#34; debug&#34;你会看到实际发生的事情。
你也可以使用模式和匹配器类以及拆分方法......