如何使用Java从文本文件中搜索到的字符串后面找到一个字符串?

时间:2011-10-16 09:37:27

标签: java

我有一个文本文件,其中包含以下内容。

Name Sahar Hassan
Age 26

我编写了一个Java代码来查找单词“Name”的位置,它运行正常。我想在“Name”之后输出字符串,即“Sahar Hassan”。

2 个答案:

答案 0 :(得分:2)

您可以使用indexOf并搜索换行符(从Name索引开始)。像这样:

String str = "Name Sahar Hassan\nAge 26";
int nameIndex = str.indexOf("Name");            // What you say you already have.

int newLineIndex = str.indexOf("\n", nameIndex);

// Extract part after "Name"
String name = str.substring(nameIndex + 5, newLineIndex);

System.out.println(name);  // Prints "Sahar Hassan"

答案 1 :(得分:2)

保持简单:

import java.io.*;
import java.util.Scanner;

File file = new File("somefilepath");
Scanner s = new Scanner(file);
String name = null;
while (s.hasNextLine()) {
    String line = s.nextLine();
    if (line.startsWith("Name"))
        name = line.substring(5);
}
// The variable "name" will be the name you seek (or be null if line not found)