我有一个像这样的字符串文件hello-1234-something。我需要使用批处理文件获得1234。但是数字1234不一样,它不断改变我需要在字符串中找到数字并只取出数字。我是批处理文件编程的新手。我想批量执行此操作
答案 0 :(得分:2)
试试这个:
@ECHO OFF &SETLOCAL ENABLEDELAYEDEXPANSION
SET "teststring=abcDEFG1234ABSdefh"
FOR %%a IN (
a b c d e f g h i j k l m n o p q r s t u v w x y z
) DO (
SET "teststring=!teststring:%%a=!"
)
ECHO %teststring%
注意:这不适用于特殊字符,例如:<>&|!^
答案 1 :(得分:1)
如果您的字符串的格式为string-hyphen-number-hyphen-string(例如foo-23-bar
,some-205-orother
,...),则可以执行以下操作:
@echo off
setlocal
set "string=foo-23-bar"
for /f "tokens=2 delims=-" %%n in ("%string%") do set "num=%%n"
echo %num%