JavaScript如何将控制台console log内容存入变量并提取其中的数字
实现方案
1. 核心思路
首先劫持浏览器console.log的输出获取日志内容,再通过正则匹配提取其中的数字存入变量,不会影响控制台原有打印逻辑。
2. 完整代码实现
// 备份原始console.log方法 const originConsoleLog = console.log; // 存储提取结果的变量 let extractedNumber = null; // 重写console.log捕获输出 console.log = function (...outputArgs) { // 先执行原有打印逻辑,不影响控制台正常输出 originConsoleLog.apply(console, outputArgs); // 遍历所有输出内容匹配目标数字 outputArgs.forEach(item => { const logContent = String(item); // 适配你提供的日志格式,精准匹配数字 const matchRes = logContent.match(/^Setting mine delay (\d+)$/); if (matchRes) { extractedNumber = Number(matchRes[1]); // 这里可以加你拿到数字后的后续处理逻辑 } }) }
3. 场景适配说明
- 如果你不需要限定日志前缀,只要提取任意日志里的第一组连续数字,把正则替换为
/\d+/即可 - 如果单条日志里存在多组数字,用
logContent.match(/\d+/g)可以拿到所有数字组成的数组 - 代码直接插入你的机器人运行脚本中即可生效,会自动监听所有控制台打印的日志
内容的提问来源于stack exchange,提问作者Salvator3e
相关产品推荐
相关产品推荐

