我是如何批量获取字符串中字符的位置的

时间:2014-02-20 18:51:30

标签: batch-file command-line cmd

我将结果字符串保存在变量RES中,此结果类似于2.3/5.0我想在“/”之前获取该部分并将其发送到批处理通过ECHO命令输出。我一直在搜索如何使用批处理命令执行此操作,但只获得将子字符串设置为固定位置的结果,但我怎么能知道这个位置? 如果我知道这个位置,我唯一应该做的就是:

ECHO %RES:~0,pos%

然后问题是:我是如何从字符串中获得这个位置的?感谢

2 个答案:

答案 0 :(得分:8)

如果你真的想要这个位置,你可以将How do you get the string length in a batch file?的strlen函数应用到下面的结果中,但是如果你只想要那个前缀,你可以这样做:

set "res=2.3/5.0"
for /f "tokens=1 delims=/" %%i in ("%res%") do (set prefix=%%i)

答案 1 :(得分:4)

为什么要查找分隔符的位置而不是仅使用它?

for /f "delims=/" %%i in ("%RES%") do echo %%i