Se o mesmo retorna algo como:
10.0.0.1 (10.0.0.1) at 24:fd:d:15:d8:91 on en0 ifscope [ethernet]
10.0.0.104 (10.0.0.104) at be:f3:5:d4:13:c0 on en0 ifscope [ethernet]
E você precisa somente do IP, o certo é verificar se cada linha retornada é uma string. Se sim, poderia fazer:
const unsanitizedIps[] = shell.exec('arp -a')
const sanitizedIps = []
for(let i = 0; i<ips.length;i++) {
sanitizedIps.push(unsanitizedIps[i].split('(')[0].trim())
// linha: 10.0.0.1 (10.0.0.1) at 25:ad:d:12:d2:11 on en0 ifscope [ethernet]
// saida: 10.0.0.1
// Obs.: o split pode ser feito no espaço em branco também. ".split(' ')"
}
Edit: Se entendi certo, é isso ai.
Boa, é isso mesmo, mas o que significa,
'(')[0].trim()
?
Eu tentei usar o \t
pra tentar separar mas nao deu certo.
Obrigado pela ajuda!
O **trim()** serve para remover espaços em brancos que ficam nas extremidades.
Segue link com uma explicação completa. [trim()](https://www.w3schools.com/jsref/jsref_trim_string.asp)