0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

java Scanner 表示異常

Last updated at Posted at 2023-05-27

Java Scanner Delimiter

  • 異常表示
    サンプルコードを引張ってきて実行したらサンプルの結果と違う!
    useDelimiterも一度指定すると指定文字以外(デフォルトの区切り文字” ”,”\n”)が解除されてしまう
Scanner.java
public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in).useDelimiter(",|\n");;
        
        System.out.println("何か入力してください。");
        String str = scanner.next();
        System.out.println("入力した文字列は " + str + " です。");
        str = scanner.next();
        System.out.print("入力した文字列は " + str + " です。");
        
        scanner.close();
      	}
}

↓System.inしたものをnext()すると何か別の文字を拾ってる?

結果
何か入力してください
123,456
入力した文字列は 123 です
入力した文字列は 456
 です
  • 修正
    System.inしたものを一旦String型インスタンスに格納して再度Scannerをインスタンス
Scanner.java
public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in)
		
        System.out.println("何か入力してください。");
        String str = scanner.nextLine();
        Scanner sc = new Scanner(str).useDelimiter(",|\n");
        str = sc.next();
        System.out.println("入力した文字列は " + str + " です。");
        str = sc.next();
        System.out.println("入力した文字列は " + str + " です。");

        sc.close();
        scanner.close();
      	}
}

↓サンプルの結果通りに表示された

結果
何か入力してください
123,456
入力した文字列は 123 です
入力した文字列は 456 です

その他の区切り文字

区切り文字
abc…    Letters
123…    Digits
\d      Any Digit
\D      Any Non-digit character
.       Any Character
\.      Period
[abc]   Only a, b, or c
[^abc]  Not a, b, nor c
[a-z]   Characters a to z
[0-9]   Numbers 0 to 9
\w      Any Alphanumeric character
\W      Any Non-alphanumeric character
{m}     m Repetitions
{m,n}   m to n Repetitions
*       Zero or more repetitions
+       One or more repetitions
?       Optional character
\s      Any Whitespace
\S      Any Non-whitespace character
^…$     Starts and ends
(…)     Capture Group
(a(bc)) Capture Sub-group
(.*)    Capture all
(ab|cd) Matches ab or cd

多いな、、、

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?