假设我有一个包含此内容的二进制文件:
abc\0def\0ghi\0
内容已经被读取并存储在字符串变量s中。我应该如何将组件“abc”,“def”,“ghi”提取到不同的字符串标记中?通常的方法,如split,stringTokenizer不接受\0
作为分隔符。
答案 0 :(得分:7)
\0
是null character,因此您可以将其unicode表示用作分隔符。
String content = "abc\0def\0ghi\0";
String[] components = content.split("\u0000");
但是,你可以只使用“\ 0”作为要拆分的分隔符。
答案 1 :(得分:1)
如果原始字符串为"abc\\0def\\0ghi\\0"
,则可以使用split("\\\\0")
:
"abc\\0def\\0ghi\\0".split("\\\\0")
如果原始字符串为"abc\0def\0ghi\0"
,则可以使用split("\0")
:
"abc\0def\0ghi\0".split("\0")