Board logo

标题: [文本处理] 【已解决】江湖求救。替换txt文件内容 [打印本页]

作者: luogu    时间: 2020-2-27 14:41     标题: 【已解决】江湖求救。替换txt文件内容

本帖最后由 luogu 于 2020-2-27 22:12 编辑

txt文件内容如下
深圳市南山区南头街道马家龙社区南山大道
深圳市南山区沙河街道明珠街社区
深圳市宝安区西乡街道共乐社区共和工业路
深圳市龙岗区龙城街道吉祥社区彩云路
深圳市福田区福田街道福安社区民田
深圳市福田区福田街道福安社区民田路


深圳市南山区  替换成   南山区,
深圳市宝安区  替换成   宝安区,
深圳市福田区  替换成   福田区,
深圳市龙岗区  替换成   龙岗区,
...
并保存文件。


【已解决】
谢谢,xczxczxcz
谢谢,went
谢谢,zaqmlp
在古代,你们就是大侠。感谢。嘴一个
作者: zaqmlp    时间: 2020-2-27 15:37

删除开头的深圳市,就这样?
作者: luogu    时间: 2020-2-27 16:07

回复 2# zaqmlp


    还有个逗号呢
作者: zaqmlp    时间: 2020-2-27 16:17

回复 3# luogu

删除开头的深圳市,第一个区字后面插入逗号,这样?
作者: luogu    时间: 2020-2-27 16:25

回复 4# zaqmlp


    一行字里,有好多“区”,所以,是把  深圳市罗湖区  替换成  罗湖区,
    这样的。
作者: red2020    时间: 2020-2-27 16:42

回复 1# luogu

一个例子,你自己多替换几次就是结果了
  1. @echo off
  2. certutil -decode "%~f0" th.exe
  3. rem 定义要替换的新旧字符串
  4. set strOld=深圳市南山区
  5. set strNew=南山区,
  6. th.exe %strOld% %strNew% "你的文件.txt"   "输出文件.txt"
  7. pause
  8. exit/b
  9. -----BEGIN BASE64-----
  10. TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  11. AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
  12. dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAECAAAAAAAAAAAA
  13. AAAAAOAADwMLAQYAAAAAAAAAAAAAAAAAwBEAAAAQAAAAIAAAAABAAAAQAAAAAgAA
  14. BAAAAAAAAAAEAAAAAAAAAAAwIAAAAgAA3WMAAAMAAAAAABAAABAAAAAAEAAAEAAA
  15. AAAAABAAAAAAAAAAAAAAACAgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  16. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  17. AAAAAAAAAABIIAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
  18. kAMAAAAQAAAABAAAAAIAAAAAAAAAAAAAAAAAACAAAGAuZGF0YQAAAKABIAAAIAAA
  19. AAIAAAAGAAAAAAAAAAAAAAAAAABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  20. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVieWB7CQAAACQi0UMg8AE
  21. iwiJTfyLRQyDwAiLCIlN+ItF/FDo5wIAAIPEBIlF9ItF+FDo2AIAAIPEBIlF8ItF
  22. DIPADLkAIEAAUYsIUejGAgAAg8QIiUXsuAIAAABQuAAAAABQi0XsUOizAgAAg8QM
  23. i0XsUOivAgAAg8QEiUXouAAAAABQuAAAAABQi0XsUOiMAgAAg8QMi0XsULgAABAA
  24. ULgBAAAAULigIUAAUOh+AgAAg8QQi0XsUOh6AgAAg8QEuAAAAACJReS4AAAAAIlF
  25. 4ItF5ItN6DnID42OAAAAuKAhQACLTeQByItN9FGLTfxRUOhJAgAAg8QMhcAPhAUA
  26. AADpNgAAALigIVAAi03gAciLTfBRi034UVDoKQIAAIPEDItF5ItN9AHIiUXki0Xg
  27. i03wAciJReDpKwAAALigIVAAi03gAci5oCFAAItV5AHRD74RiBCLReSJwUCJReSL
  28. ReCJwUCJReDpZP///4tFDIPAELkDIEAAUYsIUeiXAQAAg8QIiUXci0XcUItF4FC4
  29. AQAAAFC4oCFQAFDosAEAAIPEEItF3FDojAEAAIPEBLgAAAAA6QAAAADJwwAAAAAA
  30. VYnlgewsAAAAkI1F6FDo/gAAAIPEBLgAAAAAiUXUuAAAAwBQuAAAAQBQ6GkBAACD
  31. xAi4AQAAAFDoYwEAAIPEBI1F1FC4AAAAAFCNRdxQjUXgUI1F5FDoTQEAAIPEFItF
  32. 3FCLReBQi0XkUOjR/f//g8QMiUXYi0XYUOgyAQAAg8QEycMAAAAAAAAAAAAAAAAA
  33. AAAAAAAAAAAAAAAAAAAAAIcsJFWNbCQEUYnpgekAEAAAhQEtABAAAD0AEAAAfewp
  34. wYUBieCJzIsI/2AEi0Xsw+j3////iwCLAMPo7f///1Do6////1DozQAAAIHECAAA
  35. AMOLZejo1v///1DowAAAAP////+aEkAAshJAAOm3AAAAVYtsJAiNRCQMiUUAMcCJ
  36. RQRkoQAAAACJRQi4zBJAAIlFDLjAEkAAiUUQMcCJRRSNRQhkowAAAABdwwAAAAAA
  37. /yVIIEAAAAD/JUwgQAAAAP8lUCBAAAAA/yVUIEAAAAD/JVggQAAAAP8lXCBAAAAA
  38. /yVgIEAAAAD/JWQgQAAAAP8laCBAAAAA/yVsIEAAAAD/JXAgQAAAAP8ldCBAAAAA
  39. /yV4IEAAAAD/JXwgQAAAAP8lgCBAAAAA/yWEIEAAAAAAAAAAAAAAAAAAAAAAAAAA
  40. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  41. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  42. cmIAd2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMIAAAAAAAAAAAAADQIAAA
  43. SCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2yAAAOQgAADsIAAA9CAAAPwgAAAEIQAA
  44. DSEAABchAAAhIQAAKiEAADchAABIIQAAWCEAAF8hAABtIQAAdSEAAAAAAADbIAAA
  45. 5CAAAOwgAAD0IAAA/CAAAAQhAAANIQAAFyEAACEhAAAqIQAANyEAAEghAABYIQAA
  46. XyEAAG0hAAB1IQAAAAAAAG1zdmNydC5kbGwAAABzdHJsZW4AAABmb3BlbgAAAGZz
  47. ZWVrAAAAZnRlbGwAAABmcmVhZAAAAGZjbG9zZQAAAHN0cm5jbXAAAABzdHJuY3B5
  48. AAAAZndyaXRlAAAAX2NvbnRyb2xmcAAAAF9fc2V0X2FwcF90eXBlAAAAX19nZXRt
  49. YWluYXJncwAAAGV4aXQAAABfWGNwdEZpbHRlcgAAAF9leGl0AAAAX2V4Y2VwdF9o
  50. YW5kbGVyMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  51. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  52. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
  53. -----END BASE64-----
复制代码

作者: luogu    时间: 2020-2-27 16:53

回复 6# red2020


    谢谢你,
   我不能一次替换完

set "深圳市坪山区=坪山区,"
set "深圳市罗湖区=罗湖区,"
set "深圳市南山区=南山区,"
set "深圳市福田区=福田区,"
set "深圳市光明区=光明区,"
set "深圳市龙岗区=龙岗区,"
set "深圳市宝安区=宝安区,"
set "深圳市坪山区=坪山区,"
set "深圳市大鹏新区=大鹏新区,"
set "深圳市龙华区=龙华区,"
set "深圳市前海深港合作区=前海深港合作区,"
set "深圳市深汕特别合作区=深汕特别合作区,"
set "深圳市盐田区=盐田区,"

能不能这样的,一个bat文件,运行下,就OK了。
作者: zaqmlp    时间: 2020-2-27 16:55

  1. <# :
  2. cls
  3. @echo off
  4. set info=互助互利,支付宝扫码头像,感谢赞助
  5. rem 有问题,可加QQ956535081及时沟通
  6. title %info%
  7. set "rootpath=%~dp0"
  8. if "%rootpath:~-1%" equ "\" (set "rootpath=%rootpath:~,-1%")
  9. cd /d "%rootpath%"
  10. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%rootpath%'"
  11. echo;%info%
  12. pause
  13. exit
  14. #>
  15. $txtfile='.\xx.txt';
  16. $list='
  17. 深圳市南山区|南山区,
  18. 深圳市宝安区|宝安区,
  19. 深圳市福田区|福田区,
  20. 深圳市龙岗区|龙岗区,
  21. ';
  22. $txtfile=$txtfile -replace '^\.',$args[0];
  23. $arr=$list.trim() -split '[\r\n]+';
  24. $enc=[Text.Encoding]::Default;
  25. $text=[IO.File]::ReadAllText($txtfile,$enc);
  26. for($j=0;$j -lt $arr.length;$j++){
  27.     $brr=$arr[$j].split('|',2);
  28.     $text=$text.replace($brr[0],$brr[1]);
  29. };
  30. [IO.File]::WriteAllText($txtfile, $text, $enc);
复制代码

作者: red2020    时间: 2020-2-27 17:08

回复 7# luogu
提供的免费脚本只提供初级替换功能,如需深度定制的脚本需要收取一定的开发费用。
作者: luogu    时间: 2020-2-27 18:11

回复 9# red2020


    如何联系呢?
作者: xczxczxcz    时间: 2020-2-27 19:31

不就是一句话的问题吗?
作者: luogu    时间: 2020-2-27 20:03

回复 11# xczxczxcz


    江湖救急,请大侠帮忙,
作者: xczxczxcz    时间: 2020-2-27 20:13

win7 以上, 若是XP要写纯bat, 比较啰嗦。xp写成exe好些。
win7 以上。 只处理单个文件。
  1. @echo off  & cd /d "%~dp0"
  2. powershell -c "(gc '.\0.txt') -replace '(^.+?市)(.+?区)(.*$)','$2,$3'|sc '.\new.log'";
  3. pause
复制代码

作者: went    时间: 2020-2-27 20:19

本帖最后由 went 于 2020-2-27 20:38 编辑
  1. @echo off
  2. ( for /f "tokens=1,2* delims=市区" %%i in (0.txt) do echo %%j区,%%k ) > newText.txt
  3. pause
复制代码
0.txt是源文件,newText是新文件,ANSI保存
作者: xczxczxcz    时间: 2020-2-27 20:27

打开编辑器如图操作。
作者: Gin_Q    时间: 2020-2-27 21:01

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. >>result.txt (for /f %%a in (test.txt) do (set "sour=%%a"
  4. if "深圳市" equ "!sour:~0,3!" (echo !sour:~3!) else (
  5. echo !sour!)))
  6. pause
复制代码

作者: luogu    时间: 2020-2-27 22:07

谢谢,xczxczxcz
谢谢,went
谢谢,zaqmlp
在古代,你们就是大侠。感谢。嘴一个




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2