Home > OS >  how to Get specific word from string
how to Get specific word from string

Time:11-27

How to get specific word from string array?

let array= [
  'age 19 - Donna',
  'age 20 - James'
];
let getNumber = [] //19 and 20
let getName= [] // Donna and James
for(let i = 0; i < array.length; i  ){
 getNumber[i] = text[i].split(" ", 2)[1];
  getName[i] = text[i].split(",", 5);
}
document.getElementById("demo").innerHTML = getNumber;
document.getElementById("demo2").innerHTML = getName;

current result:

19,20

age 19 - Donna,age 20 - James

desired result:

19,20

Donna,James

CodePudding user response:

let array= [
  'age 19 - Donna',
  'age 20 - James'
];
let getNumber = [] //19 and 20
let getName= [] // Donna and James
for(let i = 0; i < array.length; i  ){
  getNumber.push(array[i].split(" ")[1]);
  getName.push(array[i].split(" ")[3]);
}
console.log(getNumber,getName)

CodePudding user response:

split return array, so catch your desire result based on index of that array.

Example:

let array = [
  'age 19 - Donna',
  'age 20 - James'
];

let getNumber = [] //19 and 20
let getName = [] // Donna and James

for (let i = 0; i < array.length; i  ) {
  let val = array[i];
  getNumber[i] = val.split(" ")[1];
  getName[i] = val.split(" ")[3];
}

document.getElementById("demo").innerHTML = getNumber;
document.getElementById("demo2").innerHTML = getName;
<div id="demo"></div>
<div id="demo2"></div>

CodePudding user response:

Using match with a a regular expression might be a little simpler.

const demo = document.getElementById('demo');
const demo2 = document.getElementById('demo2');

const array = [
  'age 19 - Donna',
  'age 20 - James'
];

const getNumber = [];
const getName= [];

// Create a regex that picks up a group of numbers
// and a group of letters
const re = /(\d ) - ([a-zA-Z] )/;

for (let str of array) {

  // `match` on the string with the regex,
  // destructuring the number from the first group
  // and the name from the second group
  const [ , number, name ] = str.match(re);

  // Push the values into the arrays
  getNumber.push(number);
  getName.push(name);
}

demo.textContent = getNumber;
demo2.textContent = getName;
<div id="demo"></div>
<div id="demo2"></div>

Additional documentation

  • Related