本帖最后由 2010hook 于 2023-2-24 06:55 编辑 找到个范例,可把Unicode文本中这行任意日期替换成“2014.06.01”: <entry key="!Version">????.??.??</entry>
有效的新版语法:
|
本帖最后由 2010hook 于 2020-6-11 15:20 编辑 guies 发表于 2020-6-11 10:57 Emeditor 好多年不用了,论查找替换PowerGREP比它强大多了,RegexBuddy也有部分GREP功能。 |
2010hook 发表于 2020-6-11 00:40 用這條命令成功了,
這種寫法,只要一個不注意,疏漏就會導致某個字串取代不成功, 當有多行時,也不會查覺到替換後那一個字串取代不成功。 這種不直覺的寫法風險太高,還要考慮如果數十數百行的每個字符必須先轉換好編碼。 如果只需要替換一次,那可以用Emeditor。 ![]() |
本帖最后由 2010hook 于 2020-6-11 01:15 编辑 你要先把路径变量中的符号转换成编码,再替换:
-s 后面必须符合Perl正则式语法! -r 后面可以是各种编码混合。 |
2010hook 发表于 2020-6-10 20:33 經實測若要替換為 C:\Program Files 的話,一定要 C:\\Program Files 才可替換成功。 還有,還是算了不研究了,那麼多的符號,還要一個一個的去轉換再填進去, 那我不如轉UTF-8來的快。 不如你新建一個文字檔,用rxrepl.exe把 %ProgramFilesDir(x64)% 換成 C:\Program Files 我想看看要怎麼寫,%ProgramFilesDir(x64)% 這一行中我要改掉多少字符去轉換,想起來就好麻煩。 |
本帖最后由 2010hook 于 2020-6-10 20:52 编辑 guies 发表于 2020-6-10 19:42 我这是久经考验的写法,你看看差别在哪里:
|
斜杠“\”是必须替换的符号,你为何保留“\\”? 没看仔细。 |
我用 fr 是這樣,只不過不支援 Unicode 大檔 就是先轉成 UTF-8 搜尋取代後再轉回 Unicode。 但再怎樣也方便多了,不需要去考慮其它。
|
本帖最后由 guies 于 2020-6-10 19:47 编辑 2010hook 发表于 2020-6-10 18:26 還是好難用,要轉編碼,又有逃逸字元等等,最重要的是,我還是轉不成功。以下只列出幾種,我是試了數十種不同指令,弄個搜尋取代比我寫小程式還難。
|
本帖最后由 2010hook 于 2020-6-10 22:03 编辑 你要把符号写成UTF8/16编码,才能替换! 我前面都说过了,11楼就有转换工具,你再看看。 |
剛摸了一下,不直覺。 用了通配符還得搭配 --dir -I 這兩個參數 最重要的是沒辨法換如 (x64) 換成 abc,就是字串裏面有 () 它就不認識。 或許有其它方法,但這簡單的搜尋取代還要花時間去學,麻煩。 好處是支援大檔的Unicode,像fr.exe就讀不到大檔案的Unicode。 fart.exe 更是簡單易用,就 fart.exe *.txt "Search" "Replace" |
2010hook 发表于 2019-2-28 21:36 兄弟,你最新的office下载地址是多少?之前的帖子关闭看不到了 |
顶,涨知识的帖子 |
ikaka 发表于 2019-2-28 17:10 下载地址还有效。知识产权保护日趋严格。 |
兄弟,你的Office的帖子咋关闭了啊?我前段时间看着你更新,但是当时没来得及下载,今天来就看到帖子关闭了 |
本帖最后由 2010hook 于 2019-2-9 17:08 编辑 *.reg 是不能用 --no-bom 参数的,清除BOM后,系统会识别错误。 |
本帖最后由 2010hook 于 2020-6-10 20:41 编辑 我测试发现,用rxrepl替换路径,只需要转换“\”为“\x5c”就行,无需把中文、字母和“:”、“-”转码。
|
本帖最后由 2010hook 于 2020-5-1 07:33 编辑 这里有个html方案,批量转换Unicode编码(保存为htm,用浏览器打开):
|
窄口牛 发表于 2019-2-1 13:22 非常好用 |
本帖最后由 2010hook 于 2019-2-2 19:39 编辑 rxrepl 确实比 wfr/fr 更科学、更好用。 wfr 查询结果依赖系统代码页或iconv,不稳定,效率不高。 rxrepl 不用管系统有没有完整代码页,它直接修改底层字符编码,确保准确对应,更高效、更可靠。 rxrepl 的语法也更简明。 |
本帖最后由 2010hook 于 2020-6-10 18:34 编辑 我搞懂了! 要先把符号转换成相应字符集的编码,才能正确转换! 比如“@”要替换成“®”,直接输入字符,会转出乱码。而写成Unicode编码“\u00ae”,就能正确转换了:
|
注册表文件用vbs好了。 |
本帖最后由 2010hook 于 2019-2-1 19:16 编辑 窄口牛 发表于 2019-2-1 13:22 rxrepl.exe -f "Templates_Unicode.reg" -o "Templates_Unicode222.reg" -s "@" -r "®" 想替换成“®”,却看到“庐”,不知是否要用正则式。 |
好用吗,能不能支持utf8? |
非常感谢! 感觉你的生活很幸福啊~ |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.