作者frank38 (:~)
看板EzHotKey
標題Re: [請問] 有沒有可以批次文字取代(非典型問題)
時間Thu Jan 29 19:53:17 2015
這用 Regular Expression 來取代就行了,有《RegExp》專板
1. 使用具有這種功能的文字編輯器來取代
例如 UltraEdit, notepad++, emeditor, pspad...
搜尋RegExp
\$\d{1,}\.\d{1,}
或
\$.+$
取代成
\$0.00
2. 下載 sed for windows 版本,一樣透過 regular expression 來做
寫法就自行 google 一下吧
3. 用 Powershell 來改,一般CMD不行
開始 -> 執行 -> powershell
==========以下請合併成一行==========
Get-Conten .\source.txt |
ForEach-Object { $_ -replace "\$\d{1,}\.00", "`$ 0.00"} |
Set-Content result.txt
==========以上請合併成一行==========
不過要注意編碼,不填就用系統預設的
但如果原始檔案是 Unicode 的話,需要加上 -encoding 參數
==========以下請合併成一行==========
Get-Content
-encoding UTF8 .\source.txt |
ForEach-Object { $_ -replace "\$\d{1,}\.00", "`$ 0.00"} |
Set-Content result.txt
-encoding UTF8
==========以上請合併成一行==========
※ 引述《jbear79810 (J熊)》之銘言:
: 目前遇到問題可能有幾百筆
: 檔案是txt文字檔
: 裡面內容有好多筆...
: 大明有限公司 手續費:$30.00
: 阿昌證券有限公司 手續費:$140.00
: 勝利營造有限公司 手續費:$1000.00
: ....以下略
: 格式如上 我只想要把匯費通通改成0元
: 要怎樣用簡單選取功能把上面手續費通通都取代成 手續費$0.00
: 以往的取代功能 例如通通手續費:$30.00 這樣我知道可以輕鬆取代成手續費:$0.00
: 問題在我每筆金額都不一樣= =
: 作業環境是老XP 受限制電腦並沒有WORD可使用
: 但CMD都可以跑沒問題
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.35.132
※ 文章網址: https://webptt.com/m.aspx?n=bbs/EzHotKey/M.1422532401.A.E25.html