更新:我想通了。見下文。搜索字符串,然後從文本文件打印下一行
我正試圖在文本文檔中找到特定的字符串。一旦找到字符串,我想要打印的唯一信息就是後面的行中的信息,直到出現空行。我已經能夠找到字符串和打印,但我總是先打印包含該字符串的行。
例子:
我在這個文檔搜索泰德:
blah blah
ted
blah blah
blah
bl
mike
現在我打印:ted blah blah blah bl
我想:blah blah blah bl
我想也許nextline()
但老實說,我不知道如何使用掃描儀,因爲我們在課堂上使用的是textIO。
public static void main(String[] args) {
boolean output=false;
String name="";
String junk="CHAMBERS";
TextIO.putln("Search name:");
name = TextIO.getln();
TextIO.readFile("doc.txt");
name = name.toUpperCase();
TextIO.putln(name + "'s "+"Info");
output = false;
while (false == TextIO.eof()) {
String line = TextIO.getln();
if (line.isEmpty())
output = false;
if (line.indexOf(name) >= 0 && line.indexOf(junk)<=0){
output = true;
}
if (output){
line=line.trim();
TextIO.putln(name+":"+'"'+line+'"');}
}
TextIO.putln();
}
既然不能回答我的問題,我會在這裏把這個:
在如果(輸出)樹:
if (output){
line=line.trim();
if (line.startsWith(name)){}
else{
TextIO.putln('"'+line+'"');}}
這個檢查字符串'行名字「然後忽略它。然後它進入下一行。我不得不使用trim()以防某些行在名稱前有空格。作爲一名新手,這是我唯一能找到的方法,以避免每次找到「名字」時不斷創建新行。我刪除了一些需要的格式,以使其成爲該問題的更一般的解決方案。
請顯示您的代碼。 – BroSlow