Board logo

标题: [求助]关于替换指定位置字符的问题 [打印本页]

作者: wjcing     时间: 2009-3-6 15:36    标题: [求助]关于替换指定位置字符的问题

如我有一字符串是随机的,a=asdmkuyk
我现在想把a的第三位d替换成8,替换后a=as8mkuyk,请问有什么办法可以指定位置替换,谢谢。
作者: netbenton     时间: 2009-3-7 00:23
set a=asdmkuyk

::先把指定位置的字符取出(第3位):
set b=%a:~2,1%

::再用得到的字符替换:
call set va=%%a:%b%=8%%

echo. %a%
echo. %b%
echo. %va%
pause
作者: XiaoGuDong     时间: 2009-3-7 01:49
set a=备份\复件(2) winre\Program Files
如何由变量a得到变量b[变量b=Program Files]
当然变量a中“Program Files”前的路径不确定!
作者: wjcing     时间: 2009-3-7 02:46


  Quote:
Originally posted by netbenton at 2009-3-7 12:23 AM:
set a=asdmkuyk

::先把指定位置的字符取出(第3位):
set b=%a:~2,1%

::再用得到的字符替换:
call set va=%%a:%b%=8%%

echo. %a%
echo. %b%
echo. %va%
pause

谢谢,不过我觉得你的方法不行,因为如果set a=asddkuykd 是这样呢。。我只想把第三位的d替换,这个方法是不行的。
作者: wjcing     时间: 2009-3-7 02:50


  Quote:
Originally posted by XiaoGuDong at 2009-3-7 01:49 AM:
set a=备份\复件(2) winre\Program Files
如何由变量a得到变量b[变量b=Program Files]
当然变量a中“Program Files”前的路径不确定!

郁闷,,不明白。呵呵
作者: wjcing     时间: 2009-3-7 04:19
搞定了。 。找个折中的方法搞定了。。就是折成两个字符再合并,,不过还是希望有高手给个好点的方法。谢谢了。