0

次の構造に大きな文字列があるとします。

parameter1|parameter2|parameter3|parameter4+"\0"

*ここで、パラメーターは、一般的に不明な長さのいくつかの文字のシーケンスです。

次に、大きな文字列が 4 行のデータを保持しているとします。たとえば、次のようになります。

parameter1|parameter2|parameter3|parameter4+"\0"
parameter1|parameter2|parameter3|parameter4+"\0"
parameter1|parameter2|parameter3|parameter4+"\0"
parameter1|parameter2|parameter3|parameter4+"\0"

最初の行を読んでから 2 行目を読むにはどうすればよいですか? メソッドを使用して毎回最初の行を簡単に取得
できることはわかっていますが、最初の行を再度抽出するために (または他の方法 を使用して) 大きな文字列の次の 3 行を取得するにはどうすればよいですか (これは 2 番目の行を表します)。実際には元の太い弦のライン)。 必要なのは最後の "\0" (4 行目) のインデックスだけであり、現在の行 "\0" のインデックスは既に持っています。 Substring
Substring

私はちょうど使用する必要がありますlastIndexOf("\0")か?
この作業方法について他にアイデアや批判がある場合は、喜んでお知らせします。

ありがとう :)

4

4 に答える 4

4

次のような BufferedReader にラップされた StringReader を使用できます。

BufferedReader r = new BufferedReader(new StringReader("my multiline text..."));
String l = null;
while ((l=r.readLine)!=null) {
 ....
 // each line in "l"
}

http://docs.oracle.com/javase/6/docs/api/java/io/BufferedReader.html#readLine() http://docs.oracle.com/javase/6/docs/api/java/io /StringReader.html

于 2012-05-22T16:23:59.977 に答える
3

引数を指定してString.splitメソッドを使用できます。"\0"次に、文字列の配列(String[])を取得します。これで、好きなことを行うことができます:)

于 2012-05-22T16:23:37.107 に答える
2

多分、

inputString.split("\0");

?

于 2012-05-22T16:23:26.330 に答える
0

文字列を区切るには正規表現を使用します。1 つの文字列配列にすべての単語が必要な場合は、区切りパターンとして /s (空白) を使用できます。

ここで情報を見つけることができますhttp://www.regular-expressions.info/java.html

于 2012-05-22T17:24:56.500 に答える