2012-06-22 4 views
0

Я просто пытаюсь получить числа, которые содержатся в предложении.Каков наилучший способ получить числа из предложения?

Это могут быть валюта, обычные цифры, + и -.

Пример будет:

членство Gym месяцев @$ 20 в месяц $ 140,00

Gym членство возврат $ -100,00

Я использовал это выражение :

\ $? (\ D {1,3},? (\ D {3}, ?) * \ d {3} (. \ d {0,2})? | \ d {1,3} (. \ d {2})?)

Я использую этот сайт для тестирования Это.

http://rubular.com/

Единственная проблема в том, что не подобрать $ -100,00, это только поднимает 100.00.

Меня также интересует, есть ли лучший способ сделать это или это единственный способ.

ответ

3

\ $? -? (\ d {1,3},? (\ D {3},?) * \ D {3} (. \ D {0,2})? | \ D {1,3} (. \ D { 2})?)

Просто добавьте -?.

Есть ли лучший способ, зависит от ваших требований. Если это работает хорошо для вас и делает все, что вы хотите, я не вижу причин использовать что-то еще.

+0

, который должен это сделать, хотя это позволяло бы такие вещи, как $ -10 в месяц. – Fallenreaper

+0

@Fallenreaper heck, это даже позволило бы такие вещи, как «Членство в тренажерном зала за 7 месяцев», потому что он читает _numbers_, а не _english_ :) –

+0

Простое исправление и отлично работает сейчас! Спасибо. – Claud

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