【发布时间】:2014-02-26 22:53:19
【问题描述】:
以下代码似乎可以正常工作
String key = "jumps"
String text = "the quick brown fox jumps over the lazy dog";
if (text.matches(".*\\b"+key+"\\b.*"))
System.out.println("Match");
if 语句为 TRUE,我得到 MATCH 以打印输出。
但这是我需要做的:
创建一个名为 text.txt 的文件,并在其中放入“快速棕色狐狸跳过懒狗”。
String text = new Scanner( new File("test.txt") ).useDelimiter("\\A").next();
String key = "jumps"
if (text.matches(".*\\b"+key+"\\b.*"))
System.out.println("Match");
这种匹配似乎只有在 test.txt 文件中只有一行时才有效。
如果文件中有一行 - if 语句为 TRUE。
如果我用两行创建文件 -
敏捷的棕色狐狸跳过了懒惰的狗
敏捷的棕狐跳过懒狗
那么 if 语句似乎永远不会是真的。
关于为什么以及我可以做些什么来让这个匹配与文件一起工作的任何想法?
【问题讨论】:
-
为什么不使用String's
indexOf?
标签: java pattern-matching match java.util.scanner