简体   繁体   中英

Extract number from string JavaScript

Does anyone know a way to extract numbers from a string in JavaScript?

Example:

1 banana + 1 pineapple + 3 oranges

My intent is to have the result in an array or JSON or something else.

Result:

[1,1,3]
var result= "1 banana + 1 pineapple + 3 oranges";
result.match(/[0-9]+/g)

Using String.prototype.match() and parseInt() :

 const s = "1 banana + 1 pineapple + 3 oranges"; const result = (s.match(/\\d+/g) || []).map(n => parseInt(n)); console.log(result);

Use this regex

  • / -> start
  • \\d+ -> digit
  • /g -> end and g for global match

 var str="1 banana + 1 pineapple + 3 oranges",mats=[]; str.match(/\\d+/g).forEach(function(i,j){mats[j]=parseInt(i);}); console.log(mats);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM