作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个格式为 101514,101234,101645,101798
的字符串。我想在 ,
上拆分字符串,然后遍历每个单独的元素,将该元素与所需的值进行比较。
set required_value=1024
for /f "delims=," %%a in ("101514,101234,101645,101798") do (
set found=%%a
if "%found%"=="%required_value%" (
echo true
) else (
echo false
)
)
这里显然只考虑了第一部分。我可以使用 "tokens=1,2,3"
然后是 %%a
、%%b
、%%c
等进行比较,但长度不固定。
有没有其他办法解决。
最佳答案
我建议使用不带循环的不同方法。
@echo off
setlocal EnableDelayedExpansion
set "RequiredValue=1024"
set "ValuesList=101514,101234,101645,101798"
rem Prepend and append a comma on value list.
set "AllValues=,%ValuesList%,"
rem Use substring replacement to find out if the required
rem value is included in list of values or is missing in list.
if "!AllValues:,%RequiredValue%,=!" == "%AllValues%" (
echo %RequiredValue% not found in %ValuesList%
) else (
echo %RequiredValue% is included in %ValuesList%
)
endlocal
要了解使用的命令及其工作原理,请打开 command prompt窗口,在那里执行以下命令,并仔细完整地阅读每个命令显示的帮助页面。
echo/?
endlocal/?
如果/?
rem/?
设置/?
setlocal/?
关于batch-file - 拆分字符串并循环遍历变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843831/
我是一名优秀的程序员,十分优秀!