您的位置:首页 > 其它

BAT 字符串处理

2015-12-04 20:46 459 查看
@ECHO OFF

SET STR1="STR1"
SET STR2="STR2STR2"
SET STR3="STR3STR3STR3"
SET STR4="STR4STR4STR4STR4"

::赋值字符串
SET STR=%STR1%
ECHO %STR%

::拼接
SET STR=%STR%%STR%
ECHO %STR%

::替换
ECHO 原始:%STR4%
SET STR4=%STR4:STR=字符串%
ECHO 替换:%STR4%

::字符串截取
::%STR:~BEGIN,LEN% 从0开始,负则表示倒数
::可省略长度,表示BEGIN到STR结束
SET STR=%STR1:~0%
ECHO %STR%

SET STR=%STR2:~4%
ECHO %STR%

SET STR=%STR3:~0,4%
ECHO %STR%

SET STR=%STR4:~-4,4%
ECHO %STR%

::字符串长度
ECHO.
SET STR=%STR4%
CALL :LENSTR %STR%
ECHO %STR%长度为:%NUM%
::PAUSE && GOTO :EOF

::查找字符
ECHO.
SET STR=%STR1%
CALL :FINDCHAR %STR% S
PAUSE && GOTO :EOF

::字符串长度
:LENSTR
SET NUM=0
SET BUF=%1
:NEXTLENSTR
IF DEFINED BUF (
SET /A NUM+=1
SET BUF=%BUF:~1%
GOTO :NEXTLENSTR
)
GOTO :EOF

::查找字符
:FINDCHAR
SETLOCAL ENABLEDELAYEDEXPANSION
SET NUM=0
SET BUF=%1
SET CH=%2
ECHO FIND %CH% IN %BUF%
:NEXTFINDCHAR
IF DEFINED BUF (
SET /A NUM+=1
SET C=%BUF:~0,1%
IF !C!==%CH% ( GOTO :FIND )
SET BUF=%BUF:~1%
GOTO :NEXTFINDCHAR
)
SET NUM=0
:FIND
ECHO 位置:%NUM%
ENDLOCAL
GOTO :EOF


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: