批处理之家's Archiver

luogu 发表于 2020-2-27 14:41

【已解决】江湖求救。替换txt文件内容

[i=s] 本帖最后由 luogu 于 2020-2-27 22:12 编辑 [/i]

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


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


【已解决】
谢谢,xczxczxcz
谢谢,went
谢谢,zaqmlp
在古代,你们就是大侠。感谢。嘴一个:kiss:

zaqmlp 发表于 2020-2-27 15:37

删除开头的深圳市,就这样?

luogu 发表于 2020-2-27 16:07

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226839&ptid=54937]2#[/url] [i]zaqmlp[/i] [/b]


    还有个逗号呢

zaqmlp 发表于 2020-2-27 16:17

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226840&ptid=54937]3#[/url] [i]luogu[/i] [/b]

删除开头的深圳市,第一个区字后面插入逗号,这样?

luogu 发表于 2020-2-27 16:25

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226843&ptid=54937]4#[/url] [i]zaqmlp[/i] [/b]


    一行字里,有好多“区”,所以,是把  深圳市罗湖区  替换成  罗湖区,
    这样的。

red2020 发表于 2020-2-27 16:42

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226834&ptid=54937]1#[/url] [i]luogu[/i] [/b]

一个例子,你自己多替换几次就是结果了[code]@echo off
certutil -decode "%~f0" th.exe
rem 定义要替换的新旧字符串
set strOld=深圳市南山区
set strNew=南山区,
th.exe %strOld% %strNew% "你的文件.txt"   "输出文件.txt"
pause
exit/b

-----BEGIN BASE64-----
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
-----END BASE64-----[/code]

luogu 发表于 2020-2-27 16:53

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226847&ptid=54937]6#[/url] [i]red2020[/i] [/b]


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

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

能不能这样的,一个bat文件,运行下,就OK了。

zaqmlp 发表于 2020-2-27 16:55

[code]<# :
cls
@echo off
set info=互助互利,支付宝扫码头像,感谢赞助
rem 有问题,可加QQ956535081及时沟通
title %info%
set "rootpath=%~dp0"
if "%rootpath:~-1%" equ "\" (set "rootpath=%rootpath:~,-1%")
cd /d "%rootpath%"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%rootpath%'"
echo;%info%
pause
exit
#>

$txtfile='.\xx.txt';

$list='
深圳市南山区|南山区,
深圳市宝安区|宝安区,
深圳市福田区|福田区,
深圳市龙岗区|龙岗区,
';

$txtfile=$txtfile -replace '^\.',$args[0];
$arr=$list.trim() -split '[\r\n]+';
$enc=[Text.Encoding]::Default;
$text=[IO.File]::ReadAllText($txtfile,$enc);
for($j=0;$j -lt $arr.length;$j++){
    $brr=$arr[$j].split('|',2);
    $text=$text.replace($brr[0],$brr[1]);
};
[IO.File]::WriteAllText($txtfile, $text, $enc);[/code]

red2020 发表于 2020-2-27 17:08

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226849&ptid=54937]7#[/url] [i]luogu[/i] [/b]
提供的免费脚本只提供初级替换功能,如需深度定制的脚本需要收取一定的开发费用。

luogu 发表于 2020-2-27 18:11

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226852&ptid=54937]9#[/url] [i]red2020[/i] [/b]


    如何联系呢?

xczxczxcz 发表于 2020-2-27 19:31

不就是一句话的问题吗?

luogu 发表于 2020-2-27 20:03

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=226855&ptid=54937]11#[/url] [i]xczxczxcz[/i] [/b]


    江湖救急,请大侠帮忙,

xczxczxcz 发表于 2020-2-27 20:13

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

went 发表于 2020-2-27 20:19

[i=s] 本帖最后由 went 于 2020-2-27 20:38 编辑 [/i]

[code]@echo off
( for /f "tokens=1,2* delims=市区" %%i in (0.txt) do echo %%j区,%%k ) > newText.txt
pause[/code]0.txt是源文件,newText是新文件,ANSI保存

xczxczxcz 发表于 2020-2-27 20:27

打开编辑器如图操作。

Gin_Q 发表于 2020-2-27 21:01

[code]@echo off
setlocal enabledelayedexpansion
>>result.txt (for /f %%a in (test.txt) do (set "sour=%%a"
                if "深圳市" equ "!sour:~0,3!" (echo !sour:~3!) else (
                        echo !sour!)))
pause[/code]

luogu 发表于 2020-2-27 22:07

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

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.