[英]Search and print text file using java
如何搜索文本并从.txt文件中打印出特定的文本行? 例如,我有一个名为airlines.txt的txt文件,我搜索MMHHHAAAA。 然后,我想从“ MMHHHAAAA:Malaysian Airlines”行中提取“ Malaysian Airlines”
//Scan file airlines.txt
Scanner scanner = new Scanner(new File("airlines.txt"));
while(scanner.hasNextLine()){
//Will this work?
String s = scan.nextLine();
Scanner line = new Scanner(s);
String airline;
//How do i continue from here to scan for MMHHHAAAA and then print out the following line of text
}
System.out.println("Airline is" + airline);
return airline;
}
您可以在Java 8中使用它:
final Path path = Paths.get("airlines.txt");
final Optional<String> theLine;
try (
final Stream<String> lines = Files.lines(path, StandardCharsets.UTF_8)
) {
theLine = lines.filter(s -> s.startsWith("MMHHHAAAA:"))
.findFirst();
}
if (theLine.isPresent())
// do something with theLine.get()
您可以使用String.indexOf("")
方法。
if (s.indexOf("your-search-string") != -1) {
//matched the pattern
System.out.println(s);
}
您可以使用substring()
后提取部分:
。 System.out.println(s.substring(":"));
阅读有关Java字符串及其方法的更多信息。
一种可能性
Scanner scanner = new Scanner(new File("airlines.txt"));
while(scanner.hasNextLine()){
String currentLine = scanner.nextLine();
if(currentLine.indexOf("MMHHHAAAA") != -1){
String airline = currentLine.split(":")[1];
System.out.println("Airline is " + airline);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.