2012-12-29 87 views
-1

我正在閱讀.txt文件,然後將其拆分爲多個字符串,但不包括某些行。我會想要分割文件的Java - 從文件中讀取數據並將其拆分爲多個字符串

例子:

10: 
String One 
20: 
String Two 

等。我希望所有的數字和冒號都被忽略,然後保存下面的字符串,但是在下一個數字處停下來。

我知道這是非常具體的,我一直試圖做我自己,但我有沒有運氣。如果我不能做這種方式,我有一個解決辦法,但它最終會跟我有一噸的.txt文件是不是很漂亮。

+1

你做了什麼?你無法解決哪個問題? – SJuan76

+2

請顯示您嘗試過的內容,以便從頭開始,而不是從頭開始。 –

+0

請指定一個問題,以便我們可以回答。 – burna

回答

1

爲什麼使用Java,當sed對此非常好?

1,/^10:/d 
/^20:/q 

這消除了第一行和開始後它10:,打印線的線之間的所有行,並且當它看到開始20:線退出。

或者,如果要刪除所有具有一個數字,後跟一個冒號線,您可以使用此:

/^[[:digit:]]\{1,\}:$/d 

這將刪除含有1個或多個數字都行,然後是冒號,沒有別的。

+0

我需要你多解釋多一點.. sed的? – Kuto

+0

請Google for「sed」。所有的頂級命中將告訴你一切必要的。 –

+0

而'sed'可能是一個合適的工具,我認爲他的號碼將是10,20,30,40等... – jlordo

1

你可以嘗試這樣的事:

Scanner file = new Scanner(new File("file.txt")); 
file.useDelimiter("\n?\\d+:\n"); 

while (file.hasNext()) 
    System.out.println(file.next()); 
 
String One 
String Two 
相關問題