Regex, чтобы получить float из строки - PullRequest
0 голосов
/ 10 сентября 2010

Слушай, у меня есть система, которая в основном отслеживает финансы.В этом приложении оно имеет поле «стоимость» (к сожалению, это поле VARCHAR).В это поле вводятся различные значения, такие как:

£90
£210 per day
£50 per logo
Design - £180
£36 p/h
£1009.51

Можно ли как-то преобразовать их в числа с плавающей точкой?Я пытался просто использовать (float), чтобы жонглировать тип в float, но он не работает.

Ответы [ 2 ]

3 голосов
/ 10 сентября 2010

Если он всегда следует за £ символом, вы даже можете убедиться, что другие числа не совпадают:

£\s*\d+(?:\.\d+)?

Объяснение

£          # GBP
\s*        # spaces, optional
\d+        # digits, required (at least one)
(?:        # non-capturing group 
  \.\d+    #   a literal dot, and more digits
)?         # end group, make optional
0 голосов
/ 10 сентября 2010
/(\d+[.]?\d*)/

Отредактировано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...