查找特定事件并将其解析为数组。

Find specific occurrence and parse it into an array.

我在 var 中有一堆杂乱无章的信息,我想:

  1. 遍历信息并提取所有以货币符号 $ 或价格一词开头的数字。

  2. 将所有这些事件输入一个数组

到目前为止,我已经找到了一种查找美元符号出现的方法,但我不知道我必须采取的其余步骤。

var str = "My father/taughtme0ho<div>wtoPrice:700throwabaseball";
var getCount=function(str){
    return (str.match(/$/g) || []).length;
};
alert(getCount(str));

感谢任何帮助,如果我不够详细,请见谅。

您可以使用 .match 和正则表达式来完成此操作。

var data = "My father/taughtme0ho<div>wtoPrice:700throwabaseball";

var prices = (data.match(/[$|price:]\d+/gi) || []).map(function(m) {
  //Convert each match to a number
  return +m.substring(1);
});

document.write(prices);
console.log(prices);

表达式 /[$|price:]\d+/gi 匹配所有以 $price: 开头的数字,在任何情况下。然后,使用 map 将每个匹配项转换为一个数字,并砍掉 :$.