2011-10-26 33 views
0

我有一個txt文件這樣的結尾:如何打印從文件中的某些行開始和一個有條件的字符串

[abc] 
There is 
a lot of 
contents here 
[abc] 

[def] 
Here are 
many other 
contents 
[def] 

[ghi] 
and bunch of 
contents here too 
[ghi] 

我想打印出來的標籤字符串之間的內容,例如:打印[abc]和[abc]之間的所有內容,而不打印任何[abc]行。我怎麼能做到這一點?

+0

如果所有的標記線開始'['並沒有其他內容行開始'['然後篩選以'['開頭的所有行。正則表達式應該是這樣的'^ [。* $'多行模式 –

+0

你有沒有達到你想要的? – Mead3000

回答

1

使用緩衝讀取器和文件讀取器進行輸入。 循環通過輸入行,並使用string.equals(string方法)來處理您的條件。 不寫代碼,你

if (readline) // for opening tag 
    while (readline) 
     printline 
     if (readline) // for closing tag 
      break; 
1

在一個簡單可行而具有布爾標誌

boolean printing=false; 
while((line=in.readLine())!=null){ 
    if(line.startsWith("[abc]"){ 
     printing=!printing; 
    }else if (printing){ 
     System.out.println(line); 
    } 
} 
+0

不要爲他們做這項工作 – Mead3000

相關問題