【问题标题】:Java Scanner issue with a regex matching a space [closed]与空格匹配的正则表达式的Java扫描程序问题[关闭]
【发布时间】:2015-05-27 10:42:32
【问题描述】:

我想要单词之间的空格。我曾尝试在 Java 中使用 Pattern.compile("a\\sb"),但 a b 失败。

这是我使用的代码:

String str; 
Scanner sc=new Scanner(System.in); 
System.out.println("Enter String");  
str=sc.next(); 
Pattern pat = Pattern.compile("a\\sb"); 
Matcher m = pat.matcher(str);    
if( m.find() ) { 
     System.out.println("Success"); 
} else { 
     System.out.println("Failed"); 
}

【问题讨论】:

  • "a\\sb".......
  • 我也试过了
  • @RaghavendraDillikar 有任何错误报告吗?你使用了 Matcher 类吗?
  • 这个模式看起来很不错。请给我们MVCE 解释您的问题。
  • 好吧,OP提供代码后问题就很清楚了。

标签: java regex space


【解决方案1】:

您应该阅读documentation

扫描器使用分隔符模式将其输入分解为标记,默认情况下匹配空格。

所以,尝试将其用作

Scanner sc=new Scanner(System.in).useDelimiter("[\r\n]+");

这样,我们将使用换行符进行标记。

看看demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 2012-01-06
    • 2013-02-26
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多