你可以称之为一个重复的问题,但事实是我找不到解决方案.如果你不想回答,可能会重新指导.
我在变量中有一个文件名为A123_101234_3.我想基于下划线将字符串拆分为分隔符,然后使用字符串的最后一部分"3"进行进一步比较(实际上是月份数).
谢谢你的帮助
知道它是第三个元素,并且元素是下划线,你可以使用for /ftokenizer
set "input=A123_101234_3"
for /f "tokens=3 delims=_" %%a in ("%input%") do set "output=%%a"
Run Code Online (Sandbox Code Playgroud)
知道它是输入中的最后一个元素,但不知道有多少元素,您可以将下划线转换为空格并迭代元素列表.这将覆盖保留最后一个元素的输出变量
set "input=A123_101234_3"
for %%a in ("%input:_=" "%") do set "output=%%~a"
Run Code Online (Sandbox Code Playgroud)
如果数据包含空格或其他分隔符,则可以用反斜杠替换下划线并将输入作为文件引用处理
set "input=A123_101234_3"
for %%a in ("%input:_=\%") do set "output=%%~nxa"
Run Code Online (Sandbox Code Playgroud)