我有一个string像这个脚本文件hello-1234-something。 我需要使用batch file得到1234。 但号码1234是不一样的,它不断变化,我需要find一个string中的数字,只取出数字。 我是batch file编程的新手。 我想批量做
尝试这个:
@ECHO OFF &SETLOCAL ENABLEDELAYEDEXPANSION SET "teststring=abcDEFG1234ABSdefh" FOR %%a IN ( abcdefghijklmnopqrstu vwxyz ) DO ( SET "teststring=!teststring:%%a=!" ) ECHO %teststring%
注意:这不适用于特殊字符,例如: <>&|!^
如果你的字符串总是具有字符串连字符号连字符串(例如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%