Board logo

标题: 将0~9替换成零中文!特请高手介入! [打印本页]

作者: bosinl2004     时间: 2007-12-24 21:26    标题: 将0~9替换成零中文!特请高手介入!
这段变量替换代码看起来简单,实际上晕了。特请高手介入!!! setlocal EnableDelayedExpansion set a=1234 set str1=0123456789 set str2=零一二三四五六七八九 for /l %%b in (0,1,9) do ( set a=!a:%%str1:~%%b,1%%=%%str2:~%%b,1%%! ) echo !a! goto :eof

作者: HAT     时间: 2007-12-24 21:51
作者: lxmxn     时间: 2007-12-25 16:58    标题: 思路很好,修改一下就成了
@echo off
setlocal EnableDelayedExpansion

set mystr=8008109999
set str1=0123456789
set str2=零一二三四五六七八九
for /l %%b in (0,1,9) do (
call :convent %%b
)
echo %mystr%
endlocal
pause&goto :eof

:convent
call set mystr=%%mystr:!str1:~%1,1!=!str2:~%1,1!%%

作者: mkd     时间: 2007-12-25 21:40
for %%a in ("0=零" "1=一" "2=二" "3=三" "4=四" "5=五" "6=六" "7=七" "8=八" "9=九") do call set str=%%str:%%~a%%

作者: HAT     时间: 2007-12-25 21:59
4楼把变量延迟扩展都省了 高!

作者: HAT     时间: 2007-12-25 22:06
@echo off
set str=157924680
for %%a in ("0=零" "1=一" "2=二" "3=三" "4=四" "5=五" "6=六" "7=七" "8=八" "9=九") do call set str=%%str:%%~a%%
echo %str%

set str=abcdehijkl
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set str=%%str:%%a=%%a%%
echo %str%