第 1 の方法:
- まず、に基づいて文字列を分割できます
:::
。2nd
これにより、長さ 3 の配列が得られます。配列のと3rd
要素に興味があるでしょう。
2nd element
次に、配列を に分割します::
。これにより、 を含む配列が得られますeach name
。
を反復処理し、最初の配列2nd array
の で各名前を出力します。3rd element
String str = "books/eh/grayL88/WilliamsMC88:::M. Howard Williams::" +
"P. A. Massey::Jim A. Crammond:::Benchmarking Prolog for " +
"Database Applications.";
String[] arr = str.split(":::");
String[] innerArr = arr[1].split("::");
for (String name: innerArr) {
System.out.println(name + " -- " + arr[2]);
}
出力: -
M. Howard Williams -- データベース アプリケーションのプロローグのベンチマーク。
PA Massey -- データベース アプリケーションの Prolog のベンチマーク。
Jim A.Crammond -- データベース アプリケーションのベンチマーク プロローグ。
第 2 の方法:
または、 で分割することもできます:::?
。::
これはorで分割され:::
、最初の配列の個々の要素のみが取得されます (3
名前に対してのみ機能します。それ以上の場合は、最初のものを使用することをお勧めします)
String[] arr = str.split(":::?");
System.out.println(arr[1] + " - " + arr[4]);
System.out.println(arr[2] + " - " + arr[4]);
System.out.println(arr[3] + " - " + arr[4]);
出力: -
M. Howard Williams - データベース アプリケーションのベンチマーク プロローグ。
PA Massey - データベース アプリケーションのベンチマーク プロローグ。
Jim A. Crammond - データベース アプリケーションのベンチマーク プロローグ。