Re: [請問] 有沒有可以批次文字取代(非典型問題)

作者: frank38 (:~)   2015-01-29 19:53:17
這用 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都可以跑沒問題

Links booklink

Contact Us: admin [ a t ] ucptt.com