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