标题: 还是关于替换为|的问题。。。。(版主请进)
[打印本页]
作者: 98800
时间: 2008-8-8 13:23
标题: 还是关于替换为|的问题。。。。(版主请进)
"aaa","ccc","",,,,"aaa","",,,,
替换成:
aaa|ccc|||||aaa|||||
如何用批处理来做啊?
版主曾给我写出:
@echo off & setlocal
for /f "delims==" %%i in (IND_INFO.txt) do (
for %%k in (%%i) do for %%c in (%%~k) do set/p a=%%c^|<nul
echo.
)>>aa.txt
这样的语句来做,但这句话把N个并排的逗号,都替换成1个| ....
请帮忙解决一下 ,谢谢!
作者: huahua0919
时间: 2008-8-8 14:05
@echo off
set a="aaa","ccc","",,,,"aaa","",,,,
set a=%a:,=^|%
setlocal enabledelayedexpansion
echo !a:^"=!
endlocal
pause
作者: 98800
时间: 2008-8-8 14:07
Quote: |
Originally posted by huahua0919 at 2008-8-8 02:05 PM:
@echo off
set a="aaa","ccc","",,,,"aaa","",,,,
set a=%a:,=^|%
setlocal enabledelayedexpansion
echo !a:^"=!
endlocal
pause |
|
这个表里面很多字段呢。而且替换出来一个新的文本。。。。
你这样写,我不知道怎么替换整个表啊。。。。。。。。。。
作者: huahua0919
时间: 2008-8-8 14:12
你这样说我不知道怎么写
作者: flyinspace
时间: 2008-8-8 14:20
哦。你是要这样?不过我保留了 "
@echo off & setlocal EnabledelayedExpansion
set a="a","b",,"cc",,,"ddd",,,,
for /l %%i in (0,1,1024) do (
set "c=!a:~%%i,1!"
if "!c!"=="" goto :output
echo !c!
if "!c!"=="," (
set b=!b!^|
) else (
set "b=!b!!c!"
)
)
:output
echo !b!
pause
作者: 98800
时间: 2008-8-8 15:53
Quote: |
Originally posted by huahua0919 at 2008-8-8 02:12 PM:
你这样说我不知道怎么写 |
|
那比如说我更新a.txt 里面的字段。。。。如何更新啊 ?????????????
作者: terse
时间: 2008-8-9 00:53
不行吗?
@echo off
for /f "delims=" %%i in (b.txt) do (
set str=%%i
setlocal enabledelayedexpansion
set str=!str:,=^|!
set str=!str:"=!
echo !str!
endlocal
)
pause