我想从以下字符串中获取总发送,总成功和总错误计数。
03/07/2017 17:11:28.5323 to www.google.com : 65.199.32.57 65.199.32.20 65.246.5.55 65.199.32.58 Total Sent: 107 Total Success: 107 Total Errors: 0 0 : 11 : 93 : 15.32/
到目前为止,我已尝试过以下方法,但尚未取得成功。 变量res保持在字符串之上。
以下导致错误
“TypeError:无法读取null的属性'1'
var matches = res.match(/(\d+)Total Sent(\d+)/);
console.log(matches[1]);
console.log(matches[2]);
这会产生一个连接数组,字符串中的所有数字都不是我想要的。
var numberPattern = /\d+/g;
var numArr = res.match(numberPattern);
console.log(numArr);
我想要
Total Sent = 107
Total Success = 107
Total Error = 0.
答案 0 :(得分:0)
您可以尝试substring功能
示例:
var String = str.substring(str.lastIndexOf(“Total Sent:”)+ 1,str.lastIndexOf(“”)); //获取总发送值
答案 1 :(得分:-1)
var input = '03/07/2017 17:11:28.5323 to www.google.com : 65.199.32.57 65.199.32.20 65.246.5.55 65.199.32.58 Total Sent: 107 Total Success: 107 Total Errors: 0 0 : 11 : 93 : 15.32/';
var match = input.match(/Total (\w+): (\d+)/g);
console.log(match);
// ["Total Sent: 107", "Total Success: 107", "Total Errors: 0"]
var output = match.join('\n').replace(/\:/g, ' =');
console.log(output);
/*
Total Sent = 107
Total Success = 107
Total Errors = 0
*/