我有我有以下內容的文本文件。如何從使用Java的文本文件中搜索字符串後立即找到一個字符串?
Name Sahar Hassan
Age 26
我寫了一個Java代碼來找到單詞「名稱」的位置,它工作正常。我想輸出字符串「Name」後面的字符串,即「Sahar Hassan」。
我有我有以下內容的文本文件。如何從使用Java的文本文件中搜索字符串後立即找到一個字符串?
Name Sahar Hassan
Age 26
我寫了一個Java代碼來找到單詞「名稱」的位置,它工作正常。我想輸出字符串「Name」後面的字符串,即「Sahar Hassan」。
保持簡單:
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)
您可以使用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"
我將輸入的文本文件。代碼應該從文本文件中讀取字符串「名稱」並在其後輸出該單詞。謝謝 –
你已經在問題中寫過。重複它的意義是什麼? –
Andrew Thompson,在這個答案中,使用了一個字符串,而不是我必須傳遞一個完整的文件。我想知道我該怎麼做 –
哪個包要導入Scanner? –
非常感謝。你的文章幫了我很多。 –
@ user648164添加您需要的導入語句 – Bohemian