次のテキスト ファイルを解析しようとしています:
サンプル テキスト ファイル:
<2008-10-07>text entered by user<Ted Parlor><2008-11-26>additional text entered by user<Ted Parlor>
上記のテキストを解析して、3 つの変数を使用できるようにしたいと思います。
v1 = 2008-10-07
v2 = text entered by user
v3 = Ted Parlor
v1 = 2008-11-26
v2 = additional text entered by user
v3 = Ted Parlor
スキャナーと useDelimiter を使用しようとしましたが、上記の結果を得るためにこれを設定する方法に問題があります。これが私の最初の試みです:
import java.io.*;
import java.util.Scanner;
public class ScanNotes {
public static void main(String[] args) throws IOException {
Scanner s = null;
try {
//String regex = "(?<=\\<)([^\\>>*)(?=\\>)";
s = new Scanner(new BufferedReader(new FileReader("cur_notes.txt")));
s.useDelimiter("[<]+");
while (s.hasNext()) {
String v1 = s.next();
String v2= s.next();
System.out.println("v1= " + v1 + " v2=" + v2);
}
} finally {
if (s != null) {
s.close();
}
}
}
}
結果は次のとおりです。
v1= 2008-10-07>text entered by user v2=Ted Parlor>
私が望むのは:
v1= 2008-10-07 v2=text entered by user v3=Ted Parlor
v1= 2008-11-26 v2=additional text entered by user v3=Ted Parlor
3 つの文字列をすべて個別に抽出できるようにするための助けをいただければ幸いです。