3 回答

TA贡献1798条经验 获得超7个赞
您可以使用正则表达式Mem:\s*(\d+)将第一个数字Mem:和未知数量的空格获取到捕获组。然后用于match获取位于 index 的捕获组1。
const str = `Swap: 1 0 1
Mem: 31 27 3 0 1 18`
const [, number] = str.match(/Mem:\s*(\d+)/)
console.log(number)

TA贡献2021条经验 获得超8个赞
提供 'Mem' 字符串(大概来自您的lines数组),就这么简单:
const str = "Mem: 31122 27 3 0 1 18";
const subStr = str.split(':')[1].trim();
const num = subStr.substr(0,subStr.indexOf(' '));
console.log(num);
如果问题中没有确定其他约束,我会根据需要更改答案。

TA贡献1898条经验 获得超8个赞
var lines = 'Swap: 1 0 1 \nMem: 31 27 3 0 1 18',
firstNum = lines.split('\n').find(s => s.includes('Mem')).match(/\d+/);
console.log(firstNum[0]);
添加回答
举报