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

Enz*_*ran 0 java escaping character tokenize

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

abc\0def\0ghi\0
Run Code Online (Sandbox Code Playgroud)

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

FTh*_*son 7

\0null字符,因此您可以将其unicode表示用作分隔符.

String content = "abc\0def\0ghi\0";
String[] components = content.split("\u0000");
Run Code Online (Sandbox Code Playgroud)

但是,您只能使用"\ 0"作为拆分的分隔符.

  • @assylias我想你可能会有; null字符是文件中的公共分隔符,因此假设文件具有"\ 0"而不是"\\ 0"s是合乎逻辑的. (2认同)