Board logo

标题: 如何将字符串中的等号都换成井号 [打印本页]

作者: wangbadan     时间: 2007-8-9 17:27    标题: 如何将字符串中的等号都换成井号

如何将字符串中的等号都换成井号:
例:“1=2=3=4=5=6=7”
处理后变为“1#2#3#4#5#6#7”
谢谢^_^
作者: qingfushuan     时间: 2007-8-9 17:28
cmd 下set /?
作者: wangbadan     时间: 2007-8-9 17:48    标题: 看来set/?,没啥启发啊~

看来set/?,没啥启发啊~
作者: HAT     时间: 2007-8-9 18:07
try this one:
C:\>set a=1=2=3=4=5=6=7

C:\>set b=%a:==#%

C:\>echo %b%
1#2#3#4#5#6#7

作者: wangbadan     时间: 2007-8-9 19:29    标题: 中文的等号可以,英文的呢?

中文的等号可以,英文的呢?
作者: namejm     时间: 2007-8-10 02:23
  来两段演示代码:
@echo off
:: 速度较慢
set a=1=2=3=4

:loop
for /f "tokens=1* delims==" %%i in ("%a%") do (
    call set str=%%str%%#%%i
    set a=%%j
)
echo "%a%"|find "=">nul&&goto loop

echo %str:~1%#%a%
pause

@echo off
:: 适用范围很窄
set a=1=2=3=4
for %%i in (%a%) do call set str=%%str%%#%%i
echo %str:~1%
pause

作者: wangbadan     时间: 2007-8-13 10:55    标题: 谢谢^_^

谢谢^_^
作者: lxmxn     时间: 2007-8-15 14:55

echo 1=2=3=4=5=6=7 | sed "s/=\|=/#/g"

作者: 26933062     时间: 2007-8-17 08:25

@echo off
setlocal ENABLEDELAYEDEXPANSION
set a=1=2 =3=4d fg=5

:loop
for /f "tokens=1* delims==" %%i in ("%a%") do (
if not "%%j"=="" (
set ss=!ss!+%%i
set a=!a:%%i=!
call :loop
) else set var=%%i
)
echo %ss:~1%+%var%
pause&exit
[ Last edited by 26933062 on 2007-8-19 at 08:39 PM ]