0

次の内容のバイナリ ファイルがあるとします。

abc\0def\0ghi\0

コンテンツはすでに読み取られ、文字列変数 s に格納されています。コンポーネント「abc」、「def」、「ghi」を異なる文字列トークンに抽出するにはどうすればよいですか? split、stringTokenizer などの通常のメソッドは\0区切り文字として受け入れません。

4

2 に答える 2

7

\0null 文字であるため、その Unicode 表現を区切り文字として使用できます。

String content = "abc\0def\0ghi\0";
String[] components = content.split("\u0000");

ただし、区切り文字として「\0」のみを使用して分割することもできます。

于 2012-09-26T12:56:21.153 に答える
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")
于 2012-09-26T13:03:14.720 に答える