使用反斜杠零作为分隔符在Java中分隔文本

时间:2012-09-26 12:53:36

标签: java escaping character tokenize

假设我有一个包含此内容的二进制文件:

abc\0def\0ghi\0

内容已经被读取并存储在字符串变量s中。我应该如何将组件“abc”,“def”,“ghi”提取到不同的字符串标记中?通常的方法,如split,stringTokenizer不接受\0作为分隔符。

2 个答案:

答案 0 :(得分:7)

\0null 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")