2015-10-23 92 views
-3

嗨,我有一個文本文件,我想拆分。分割文本正則表達式Java

第一章:8月份灰暗的溫暖的晚上降臨在這座城市,一股溫和的暖空氣,夏日的回憶,流傳於街頭。週日休息的街道上,聚集了一羣色彩斑斕的人羣。就像照亮的珍珠一樣,燈光從高聳的燈柱的頂部照射在下面的生動的紋理上,不斷變化的形狀和色調,傳遞到溫暖的灰色夜空中,一種不變的不斷雜音。第二章:兩名年輕男子從拉特蘭廣場下山。對他們來說,只是帶來一個長長的獨白結束。另一個人走在路的邊緣,有時因爲他的同伴的粗魯而不得不踏上了路,他穿着一張聽起來很am face的臉。他蹲下而且紅潤。遊艇帽從他的額頭上被推得很遠,他聽到的敘述使得他的表情從他的鼻子,眼角和嘴角突然冒出來。一陣喘息的笑聲從他痙攣的身體中相繼出現。他的眼睛閃爍着狡猾的快樂,每時每刻都能看到他的同伴的臉。有一次或兩次,他重新排列了他以單線方式挎在肩上的防水功能。他的馬褲,他的白色橡膠鞋和他稚嫩的防水錶達的青春。但是,他的身影在腰部變得圓潤,頭髮變得灰白,臉色蒼白,當表情的波浪越過它時,臉上顯得憔悴不堪。

如何通過文本的「章節」將文本分成兩部分?

我使用正則表達式Chapter 1 : .+ Chapter但結果它刪除章節單詞。

+1

請指明您面臨的問題。 – Lokesh

+0

問題是關於如何拆分該文本文件,並將其變成2個文本(字符串)。舉例來說,第一個是第一個:......................,另一個是第二個:.......... ......................... –

回答

0

,如果你想使用分裂功能,這可能是你在找什麼:

(?!^)(?=Chapter\s\d+\s:) 

如果你只是想捕捉的章節,試試這個:

Chapter\s\d+\s:.*?(?=Chapter\s\d+\s:|$) 

https://regex101.com/r/oE5rX6/1

這可以縮短到這一點:

Chapter.*?(?=Chapter|$)

但是爲了以防萬一,你得到與出現在文本中的字Chapter一些誤報,它可能是更好的是在之前的表達更爲明確。

在所有情況下,它都使用positive lookahead來匹配所需的內容。