我有一个文本文件,这是一个长字符串,如下所示:
ISA*00*GARBAGE~ST*TEST*TEST~CLP*TEST~ST*TEST*TEST~CLP*TEST~ST*TEST*TEST~CLP*TEST~GE*GARBAGE*~
我需要它看起来像这样:
~ST*TEST*TEST~CLP*TEST ~ST*TEST*TEST~CLP*TEST ~ST*TEST*TEST~CLP*TEST
我首先尝试在每一处添加一行~ST
来分割字符串,但我不能为我的生活让这一切发生.我尝试过各种脚本,但我认为查找/替换脚本效果最好.
@echo off setlocal enabledelayedexpansion set INTEXTFILE=test.txt set OUTTEXTFILE=test_out.txt set SEARCHTEXT=~ST set REPLACETEXT=~ST for /f "tokens=1,* delims=~" %%A in ( '"type %INTEXTFILE%"') do ( SET string=%%A SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%! echo !modified! >> %OUTTEXTFILE% ) del %INTEXTFILE% rename %OUTTEXTFILE% %INTEXTFILE%
在此处找到如何替换Windows批处理文件中的子字符串
但我被卡住了因为(1)特殊字符~
使得代码根本不起作用.它给了我这个结果:
string:~ST=~ST
如果使用引号,代码什么都不做"~ST"
.并且(2)我无法弄清楚如何在之前添加换行符~ST
.
最后的任务是在执行所有拆分后删除ISA*00*blahblahblah
和~GE*blahblahblah
行.但我~ST
部分地陷入分裂.
有什么建议?