一、代码
@echo off
Setlocal ENABLEDELAYEDEXPANSION
set str1=This is a te:st st:ring
set ch1=:
set loc=0
::注意,这里是区分大小写的!
set str=%str1%
::复制字符串,用来截短,而不影响源字符串
:next
if not "%str%"=="" (
set /a num+=1
if "!str:~0,1!"=="%ch1%" set /a loc=%num%
::比较首字符是否为要求的字符,如果是则跳出循环
set "str=%str:~1%"
goto next
)
set /a num=0
::没有找到字符时,将num置零
set /a loc+=1
echo !str1:~%loc%!
echo 输出完毕,按任意键退出&&pause>nul&&exit
二、参考链接
https://blog.csdn.net/iampeijiao/article/details/119642955
三、备注
原文中是寻找某个字符第一次出现的位置,此文中,是寻找某个字符最后一次出现的位置,并且从最后一次出现的位置的后一位开始截取字符串