JavaScript:如何捕获字符串中的特定值?
我有下面的字符串,我需要从Mem:行捕获数字31位。空格是动态的,因此我无法捕捉正确的数字 字符串:JavaScript:如何捕获字符串中的特定值?,javascript,Javascript,我有下面的字符串,我需要从Mem:行捕获数字31位。空格是动态的,因此我无法捕捉正确的数字 字符串: Swap: 1 0 1 Mem: 31 27 3 0 1 18 我正在尝试下面的代码,无法继续 let lines = output.split('\n'); for (var i = 0; i < line
Swap: 1 0 1
Mem: 31 27 3 0 1 18
我正在尝试下面的代码,无法继续
let lines = output.split('\n');
for (var i = 0; i < lines.length; i++) {
var newArray = lines[i];
if (newArray.indexOf('Mem:') > -1) {
let n = newArray.split(":");
}
}
let line=output.split('\n');
对于(变量i=0;i-1){
设n=newArray.split(“:”);
}
}
随“Mem”字符串一起提供(可能来自行
数组),它很简单:
const str=“Mem:31122 27 3 0 1 18”;
const subStr=str.split(':')[1].trim();
常量num=subStr.subStr(0,subStr.indexOf(“”));
console.log(num)代码>您可以找到行并获得第一个数字
var行='Swap:1 0 1\nMem:31 27 3 0 1 18',
firstNum=lines.split('\n')。查找(s=>s.includes('Mem'))。匹配(/\d+/);
console.log(firstNum[0])
您可以使用regexMem:\s*(\d+)
来获取Mem:
之后的第一个数字以及捕获组中未知数量的空白。然后使用获取索引1
处的捕获组
const str=`Swap:1 0 1
成员:312730118`
常量[,数字]=str.match(/Mem:\s*(\d+/)
控制台日志(编号)
var行='Swap:1 0 1\nMem:31 27 3 0 1 18',
firstNum=lines.split('\n')。查找(s=>s.includes('Mem'))。匹配(/\d+/);
console.log(firstNum[0])代码>请编辑问题并添加一些字符串限制。原始问题中的输入是一个字符串,而不是数组。感谢Randy的回复。如果31是动态的呢?可能是3003134。我们可以相应地调整代码吗?编辑答案以适应您的问题。