JAVA如果不能扫描会怎么样,什么是Java中的扫描程序跳过以及为什么要使用它?...

scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

Can someone explain, what does the above code mean.

I'm pretty new to Java.

Any help would be greatly appreciated.

解决方案

public Scanner skip(Pattern pattern)

Skips input that matches the specified pattern, ignoring delimiters. This method will skip input if an anchored match of the specified pattern succeeds.

If a match to the specified pattern is not found at the current position, then no input is skipped and a NoSuchElementException is thrown.

Since this method seeks to match the specified pattern starting at the scanner's current position, patterns that can match a lot of input (".*", for example) may cause the scanner to buffer a large amount of input.

So this allows you to "move" the scanner position using a regex.

Example :

Skip the start of the line :

Scanner scan = new Scanner("Hello world");

scan.skip("Hello ");

System.out.println(scan.nextLine());

scan.close();

world

Since this is using a regex, you skip until a work in the middle of a line :

Scanner scan = new Scanner("Hello world, I am happy to see you");

scan.skip(".*I am ");

System.out.println(scan.nextLine());

scan.close();

happy to see you

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值