我正在构建一个使用子进程进行数学计算的应用程序:

var child = exec('get_hrv -M -R rr.txt', function(error, stdout) { 
    if (error !== null) { 
        console.log('exec error: ' + error); 
    } else { 
        res.send(stdout);        
    } 
}); 

输出(stdout)如下所示:

NN/RR    = 0.992424 
AVNN     = 789.443 
SDNN     = 110.386 
SDANN    = 0 
SDNNIDX  = 110.386 
rMSSD    = 73.5775 
pNN50    = 36.9231 
TOT PWR  = 12272.8 
ULF PWR  = 788.161 
VLF PWR  = 4603.59 
LF PWR   = 4221.97 
HF PWR   = 2659.05 
LF/HF    = 1.58777 

一切都正常工作,但是,这个输出是一个字符串,我需要将它包含的值分配给单独的整数变量,例如像这样:

var extractedVars = { 
    NN/RR: 0.992424 
    AVNN: 789.443 
    SDNN: 110.386 
    SDANN: 0 
    SDNNIDX: 110.386 
    rMSSD: 73.5775 
    pNN50: 36.9231 
    TOT PWR: 12272.8 
    ULF PWR: 788.161 
    VLF PWR: 4603.59 
    LF PWR: 4221.97 
    HF PWR: 2659.05 
    LF/HF: 1.58777 
} 

如何做到这一点?正则表达式?

请您参考如下方法:

你可以尝试这样的事情

var lines = dataFromProc.split(require('os').EOL); 
var data = {}; 
lines.forEach(function (line) { 
    var parts = line.split('='); 
    if (parts[1]) { 
        data[parts[0].trim()] = parseFloat(parts[1].trim()); 
    } 
}); 
console.log(data); 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!