2014-11-26 3 views
-1

Это демо-версия того, что я пытаюсь достичь:Получение данных из предложений с регулярным выражением?

У меня есть много strings, которые похожи на них:

  • Обычно я покупаю яблоки в течение 1,5-3 долларов.
  • В этом месяце апельсины стоят от 2 долларов - 3 доллара.

Я хочу использовать цикл и регулярное выражение для получения данных из этих предложений. Данные типа, название продукта (apples, oranges, другое) и цена (1.5-3; 2-3).

Какой для каждого цикла я бы нажал на массив, как product и price.

Каков правильный путь?

Примечание: Там может быть только яблоки и апельсины и программа знает.
Примечание: Ожидаемый выход представляет собой два массива с продуктами и цифрами.

Благодарим вас за предложения!

+0

Они похожи на те, или они всегда в этом конкретном формате? Откуда берутся струны? –

+0

Все в этом конкретном формате. –

+0

Это демо-данные –

ответ

1

Я полагаю, что вам нужно что-то вроде этого:

var str = "Usually I buy apples for a 1.5-3 dollars.", array = []; 
array.push(str.match(/apple|orange/)[0] + 's'); // fruit 
array.push(str.match(/[\d\.]+\D+\d+/)[0].replace(/[^\.\d]+/g,"-")); // price 
console.log(array); // result 
+0

Да, но есть ли способ добавить яблоки в один массив и апельсины к другому, не делая много утверждений if (много, если у вас 20 фруктов не 2)? –

Смежные вопросы