将.contains找到的字符串保存为String变量?

时间:2015-02-13 21:44:14

标签: string java.util.scanner contains

首先,我还没有任何代码可以显示,但想法是有一个包含信息的文本文档,比如......'John Fitzgerald New York'在一行上,我想要通过.contains()查找,例如:

Scanner newScanner = new Scanner(inputFile);

String name = "Fitzgerald";

while(!newScanner.nextLine().contains(name)){

}

我的想法是我可以将整行保存为变量。换句话说,搜索菲茨杰拉德应该允许我将John Fitzgerald New York保存为变量。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Scanner sc = new Scanner(new File("input.txt")); // Read from file
final String pattern = "Fitzgerald"
while( sc.hasNext() ){ // While you still have more data
    String l = sc.next(); // Get the next token
    if( l.contains(pattern) ){ // Check if it matches your pattern
        System.out.println("Match Found");
    }
}  

如果你想循环遍历令牌,你可以这样做。或者,如果要查找更复杂的模式,可以使用next(Pattern)方法。

对于文本文档,请考虑使用FileReader

final String pattern = "Fitzgerald"
FileReader f = new FileReader(new File("input.txt"));
BufferedReader b = new BufferedReader(f);
String line;
while( (line=b.readLine()) != null ){
    if(line.contains(pattern)){
        doSomething(line);
    }
}