当前位置:  开发笔记 > 开发工具 > 正文

在文本文件中查找具有特殊字符的字符串,并在每次出现前添加换行符

如何解决《在文本文件中查找具有特殊字符的字符串,并在每次出现前添加换行符》经验,为你挑选了0个好方法。

我有一个文本文件,这是一个长字符串,如下所示:

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部分地陷入分裂.

有什么建议?

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有