如何删除文本中每行的一部分?
示例:
</td><td valign="top" style="font-weight:bold;">1100052719
</td><td valign="top" style="font-weight:bold;">1100053714
</td><td valign="top" style="font-weight:bold;">1100053777
我想这样做:
1100052719,1100053714,1100053777
我有一个名为POs.txt的文件,可以看到所有这些数据。
答案 0 :(得分:0)
@echo off
setlocal enabledelayedexpansion
set OutputString=
for /f "tokens=3 delims=>" %%A in (Pos.txt) do set OutputString=!OutputString!%%A,
set OutputString=%OutputString:~0,-1%
echo.%OutputString%
endlocal
pause
答案 1 :(得分:0)
作为解释......
setlocal enabledelayedexpansion
允许我们将变量名称括起来!表示我们要在运行时而不是在加载时扩展变量。
set OutputString=
使用初始空值定义变量OutputString。
for /f "tokens=3 delims=>" %%A in (Pos.txt) do set OutputString=!OutputString!%%A,
我们要保留的文字是使用&gt;分隔符时的第3个标记 对于每次迭代(Pos.txt中的文本行),我们将第3个字段(标记)附加到OutputString以及逗号
set OutputString=%OutputString:~0,-1%
从第一个字符开始并保存除OutputString的最后一个字符之外的所有字符
,删除尾随逗号。答案 2 :(得分:0)
代码1:
@echo off
setlocal enabledelayedexpansion
set OutputString=
for /f "delims=" %%a in (Pos.txt) do (
set line=%%a
set OutputString=!OutputString!!line:*">=!,
)
set OutputString=%OutputString:~0,-1%
echo,%OutputString%
pause
代码2:
@echo off
setlocal enabledelayedexpansion
set OutputString=
for /f "delims=" %%a in (Pos.txt) do (
set line=%%a
set OutputString=!OutputString!!line:~-10!,
)
set OutputString=%OutputString:~0,-1%
echo,%OutputString%
pause