How I get the position of a character from a strin

2019-06-20 08:14发布

问题:

I have a result string saved in a variable RES, this result is something like 2.3/5.0 I would like to get the part before the "/" and sending it to the batch output through an ECHO command. I have been searching how can I do this using batch commands, but only getting results of making substring to a fixed position, but how can I know this position? If i would knew the position the only thing I should probably do is:

ECHO %RES:~0,pos%

Then the question is: how I get this position from the string? Thanks

回答1:

If you really want the position itself, you can apply the strlen function from How do you get the string length in a batch file? to the result below, but if you just want that prefix, you can simply do:

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


回答2:

Why looking for the position of the delimiter instead of just using it?

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