我有一个变量:
set myvar="26:deployment.javaws.jre.0.product=1.8.0_111"
我想在jre之后检索值。和.product这将是整数0.这里之间的值将始终是一个整数。变量可以字符串可以稍微改变,但[jre。] [integer] [.product]的格式将始终保持不变。因此,我无法使用硬编码值获取子字符串,因为字符串可能每次都不同,并且如果说字符串开头的第一个数字是3个数字而不是2个长,则在开头有更多字符。我怎么能这样做?
答案 0 :(得分:3)
如果jre.
部分前面的点(和冒号)数量可能有所不同,您可以使用:
set "myvar=26:deployment.javaws.jre.0.product=1.8.0_111"
rem // Split off everything up to `jre.` (case-insensitive search):
set "integer=%myvar:*jre.=%"
rem /* Convert remaining portion to a signed 32-bit integer
rem (everything up to the `.` in `.product` is regarded): */
set /A "integer=integer"
echo %integer%
答案 1 :(得分:1)
for /f "tokens=5 delims=:." %%a in ("%myvar%") do echo -%%a-
试试这个