批处理语句返回字符在字符串中的首个位置及最后一个位置
时间: 2024-03-16 08:44:47 浏览: 22
在批处理语句中,可以使用`FIND`命令来查找字符串中某个字符的位置,`FIND`命令会返回指定字符在字符串中的第一个匹配的位置。但是,批处理语句不提供直接的方法来获取字符串中最后一个字符的位置。因此,我们需要先反转字符串,再使用`FIND`命令来查找最后一个字符的位置,最后再用字符串长度减去查找到的位置即可得到最后一个字符的位置。
以下是批处理语句实现:
1. 返回字符在字符串中的首个位置:
```
set s=hello world
set char=l
set pos=0
for /F "delims=" %%i in ('echo %s%^|find "%char%"') do set /A pos=%%i
echo %pos% REM 输出结果为:2
```
2. 返回字符在字符串中的最后一个位置:
```
set s=hello world
set char=l
set pos=0
set revs=
for /F "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" %%i in ('echo %s%^|rev') do set revs=%%j%%i%%k%%l%%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z%%a%%b%%c%%d%%e%%f%%g%%h%%i
for /F "delims=" %%i in ('echo %revs%^|find "%char%"') do set /A pos=len-%pos%, pos=%%i-1
echo %pos% REM 输出结果为:9
```
相关推荐
![bat](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)