You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Windows批处理脚本子字符串操作:提取括号内数字的实现需求

提取字符串中括号内数字的Windows批处理脚本

我来给你写一个专门处理这类需求的批处理脚本,它能精准提取字符串里括号中的数字内容,完全适配你给出的abc(12349)这类格式的输入。

完整脚本代码

@echo off
setlocal enabledelayedexpansion

:: 设置你的输入字符串
set "input_str=abc(12349)"

:: 第一步:去掉括号左边的所有内容
set "temp_str=!input_str:*(!="

:: 第二步:去掉括号右边的所有内容(只保留括号内的数字)
set "result=!temp_str:)=!"

:: 输出结果
echo 提取到的数字:!result!

endlocal

脚本工作原理拆解

  • setlocal enabledelayedexpansion:开启延迟变量扩展,这样在脚本执行过程中能实时更新变量的值,这是处理字符串替换的关键操作。
  • set "temp_str=!input_str:*(!=":这个命令会删除从字符串开头到第一个(的所有内容。比如输入abc(12349),执行后temp_str就变成了12349)
  • set "result=!temp_str:)=!":接着删除temp_str中第一个)及之后的所有内容,最终得到纯数字12349

测试不同输入场景

如果你的输入是其他类似格式,比如xyz(9876)test,只要把input_str改成对应值,脚本会输出9876,同样能正常工作。

注意事项

如果你的字符串里包含多个括号(比如abc(123)def(456)),这个脚本只会提取第一个括号里的数字。要是需要提取所有括号内的数字,就得额外添加循环处理逻辑,不过从你的示例场景来看,单个括号的情况这个脚本完全够用啦。

内容的提问来源于stack exchange,提问作者ganesh_patil

火山引擎 最新活动