テキスト ファイルがあり、二重引用符で囲まれた文字列だけを読み取る必要があります。メソッドを試してみましたsplit()
が、必要なものが得られませんでした。例:
"000ABCD",000,HU,4614.850N,02005.483E,80.0m,5,160,1185.0m,,005,4619.650N,01958.400E,87.0m,1...
この例では、必要なのは string だけです000ABCD
。何か案は?
次の正規表現を使用できます。
"\\"(.*?)\\""
Pattern pattern = Pattern.compile("\\"(.*?)\\"");
Matcher matcher = pattern.matcher("\"000ABCD\",000,HU,4614.850N,02005.");
if (matcher.find()) {
System.out.println(matcher.group(1));
}
000ABCD と表示されます。
int firstIndex = oldString.indexOf('"');
String data = oldString.substring(firstIndex+1, oldString.indexOf('"', firstIndex);
これを試して
String str="\"000ABCD\",000,HU,4614.850N,02005.483E,80.0m,5,160,1185.0m,,005,4619.650N,01958.400E,87.0m,1";
Pattern p = Pattern.compile("\"(.*?)\"");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group(1));
}