BAT 字符串处理

@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


                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值