Scanner の javadoc を参照してください。例があります。
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
次の出力を出力します。
1
2
red
blue
|
区切り文字として使用できます。
編集:|
区切り文字として使用するには、エスケープする必要があります。\\s*\\|\\s*
またはを使用し\\s*[|]\\s*
ます。そのまま使用すると、最初の値と例外|
のみが取得されます。1
InputMismatchException
以下のプログラムと出力を参照してください。
public class Test {
public static void main(String[] args) {
String input = "1 | 2 | red | blue |";
Scanner s = new Scanner(input).useDelimiter("\\s*\\|\\s*"); // or use "\\s*[|]\\s*"
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
}
}
出力:
1
2
red
blue