作者chris (ψ純粹透明ζ低調上等!)
看板RegExp
標題[問題] 如何除去不適當的斷行(以末尾字元判斷)?
時間Fri Mar 13 01:23:14 2009
標題其實想不出怎麼下。
是在vim裡想把一些斷行很怪的網遊小說重編過,例子如下
「失落遺蹟?」
韋天立刻帶著一個疑問,道出了地圖上地名字,眉頭已經微微地皺
了起來,開始等待迪盧木多地解釋了.
果然,迪盧木多從和韋天認識以后,就從來都沒有讓韋天失望過.伴隨
著韋天投去地詢問眼神,迪盧木多立刻解釋道:「要說這個失落遺蹟,
就應該先從獸人平原上說起.
請問如何將末尾字元前不是接 」。. 的,連同斷行後的空白一起刪除呢?
我試用
[^。?」\.]$\n 會連前一個用來判斷的字元也取代掉…
像上頭的例子,希望是能第二行與第三行合併,四、五、六行也合併為一行。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.4.20
1F:推 LPH66:前面判斷用字元用()括起來 然後取代成 \1 ? 03/13 09:58
2F:推 ponpan:他回應的訊息是 E486: 找不到 (^。?」!\.…)$\n 03/13 11:29
3F:→ ponpan:是說 ^ 能用在 () 裡? 03/13 11:29
4F:→ chris:呃,還有人知道方法能回應一下嗎?我是用gvim。 03/14 15:08
5F:推 MichaelHsin:一樓的方法不行嗎? 03/14 17:07
6F:推 MichaelHsin:vim 似乎不吃 zero-width look-behind,就只能用一樓 03/14 17:07
7F:推 MichaelHsin:的 backreference 法了吧 03/14 17:08
8F:→ chris:就是不行啊………試過用([^。])$\n 與 (^。)$\n 都找不到。 03/14 18:48
9F:→ chris:2f回的就是用1f的方法的取代結果了。>_< 03/14 18:49
10F:→ chris:解決了,gvim裡是用 \( \) 謝謝各位的幫忙! 03/15 16:58