0

如何删除文本中每一行的一部分?

例子:

</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 的文件,可以在其中看到所有这些数据。

4

3 回答 3

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
于 2013-04-01T00:23:00.487 回答
0

通过解释...

    setlocal enabledelayedexpansion

允许我们将变量名包含在 ! 表示我们要在运行时而不是在加载时扩展变量。

    set OutputString=

定义具有初始空值的变量 OutputString。

    for /f "tokens=3 delims=>" %%A in (Pos.txt) do set OutputString=!OutputString!%%A,

当使用 > 分隔符时,我们要保留的文本是第三个标记。
对于每次迭代(Pos.txt 中的文本行),我们将第三个字段(标记)与逗号一起附加到 OutputString

    set OutputString=%OutputString:~0,-1%

通过从第一个字符开始并保存 OutputString 的最后一个字符以外的所有字符来去除尾随逗号

于 2013-04-01T01:17:07.293 回答
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
于 2013-04-01T02:34:40.123 回答