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