@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
BAT 字符串处理
最新推荐文章于 2023-05-15 17:15:11 发布