Regex за цена

novakabg

Registered
Здравейте, може ли някой да помогне за regex за цена.
Опитвам се да премахне (лв. ) от текстовете чрез RegEx.

Тука тествам.

https://regex101.com/r/cG6iO8/1
 
А защо не ползваш string.replacе() за да премахнеш лв. ?

https://www.w3schools.com/jsref/jsref_replace.asp


Код:
var str = '100лв. 500лв. 5000лв. 500000 лв.; 
var res = str.replace(/лв./g, "");
 
гледам ейтука преди 1 млн. години че съм ползван нещо такова. Разби се регулярния израз е в пъти по-добре, но ако можеш да го направиш по-семпло според мен - защо не. (не съм го пробвал)

PHP:
$p = floatval('25.77лв.');
Echo "<br>".$p;
:idea: :?: :?:
 
Май не му трябва за PHP, гледайки раздела в който пишем :lol: И btw той иска да премахне лв. от текстове, съответно floatval няма да помогне, защото ще премахне целия текст, а не само лв. ..
Код:
floatval('lorem ipsum 1000 лв. lorem ipsum50 лв. ...');
Пак str_replace ще е по-подходящо.

Реално погледнато ако не трябва да replace-ваш някой много забатачен стринг ( като IP примерно, където няма как да се измъкнеш без да го match-неш с regex ), по-добре да се използват replace функциите от гледна точка на производителност.
 
Благодаря за бързите и страхотни отговори.

Проблема е че ми трябва нещо такова:

\d{1,3}(?:[.,]\d{3})*(?:[.,]\d{2})

Обаче за (ЛВ), пробвах това с рублата и lei но с лев не мърда.
Не знам защо, нещо не правя както трябва. :X общо взето ползвам json.

"regex":" тука въвеждам regex",


Извинявам се много просто не намерих раздел.
 
В линка, който си дал, стрингове с 'лв.' и с 'rub' си работят. Какъв е въпросът?

общо взето ползвам json.
Въпросът беше на какъв език парсваш стринга.
 
novakabg каза:
Като цяло json, RegEx for Json :)

Той може да идва и от JSON, и от текстов файл, и от сокет - въпросът е на какъв език ти е програмата. Различните езици имат някои малки разлики в имплементацията.
 
novakabg каза:
javascript е просто regex ми бяга като цяло.

:)
В дадения линк работи както трябва, изглежда, С какъв тестов пример не работи?
 
Оправих се, благодаря много :)
Просто сгреших в една наклонена черта.

Благодаря отново приятели!
 

Горе