![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - 有啥文書軟體可以作到這兩點?
(https://www.pcdvd.com.tw/showthread.php?t=862000)
|
|---|
有啥文書軟體可以作到這兩點?
弄了老半天,都沒找出方法
只好在這請大家幫忙 第一個問題比較簡單 怎樣除去段與段之間的空行? 第二個就有點麻煩,想把別人的xtml資料擷取部份匯入但格式有點問題 <fasd=5 wed=red>一堆字</fasd> 變成 一堆字 <fasd=5 wed=red>一堆字</fasd> 大概有數萬筆要這樣作,所以不可能手動 有人知道如何作嗎?謝謝 |
用"全部取代"不行嗎 ?
|
第一個問題:
Shalom Txt(freeware)雖然只是一個小小的文字編輯器,可是他卻有獨特的功能:「刪除空白行」! http://azo-freeware.blogspot.com/20...lom-txt-12.html |
引用:
請問您的空行有沒有Space,Tab等字元,如果都沒有任何字元的話 針對你的問題我解法如下,首先請先將檔案上傳至Unix like(如Linux)主機上可以存取的目錄(如/tmp),假定檔名為a.txt,輸出檔名為b.txt,所有檔案及工作目錄假定為/tmp 問題一解答 $gawk 'NF>0 {print }' a.txt > b.txt 問題二我個人的智慧也覺得解起來有麻煩,我獻醜一個小程式 $vi foo.py f1為程式第一列 ----------------------- f1 = open('a.txt','r') s = f1.read() f1.close() t = "" flagSkip = False for i in range(len(s)): if s[i]=="<": flagSkip = True if s[i]==">": flagSkip = False continue if flagSkip: continue t+=s[i] print t ----------------------- print t為程式最後一列 現在終於可以擺平第二題了 :stupefy: $ python foo.py > b.txt |
第一個問題可以用 regexp + 任何一個好用的 editor 解決
(順便把 regexp 學了,對工作很有幫助) 第二個問題不是很懂 是說原本的資料是 <foo>bar</foo> 你要把它變成 bar <foo>bar</foo> 是嗎? |
第一個問題可以用word的取代功能. 把 ^p^p 取代為 ^p 即可.
第二個問題看不懂. 重新匯入資料可嗎? |
兩個問題都可以用正規表示式來解決
但第一個用UltraEdit 之類的軟體比較簡單 用搜尋&取代的功能:搜尋 "^p^p",取代成 "^p" 第二個問題用正規表示式 搜尋: (<.*?>(.*?)</.*?>) 取代: $2\r\n$1 -----測試字串----- <fasd=5 wed=red>一堆字</fasd><qwer=4 wed=pink>二堆字</fasd> <abcd=3 wed=blue>三堆字</fasd> -----取代結果----- 一堆字 <fasd=5 wed=red>一堆字</fasd>二堆字 <qwer=4 wed=pink>二堆字</fasd> 三堆字 <abcd=3 wed=blue>三堆字</fasd> ------------------ 實際的語法在不同的工具裡會有一點差異. |
引用:
樓主解法二我測試過確實可行,解得太漂亮了 正規表示法這方面我學得確實不到家 :ase |
正規表示法
在WinBase下有類似的技術嗎? |
好強唷@@
沒想到取代這功能可以這樣使用... |
| 所有的時間均為GMT +8。 現在的時間是05:59 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。