как достать конец строки?

zimerfm

Участник
Автор темы
72
7
у меня есть строка 'Вы купили Сироп фермера (1 шт.) у игрока Makima_Akinowa за $100.000'.
как достать текст 100.100?
пробовал так:
str_ = 'Вы купили Сироп фермера (1 шт.) у игрока Makima_Akinowa за $100.000' local str = str_:match('%$(%d+)'):
очевидно, хукнулась первая часть до точки. пробовал число заменять на .+, тогда str = nil.
 
  • Эм
Реакции: Hinаta
Решение
Lua:
a = text:match('%$(%d+%.%d+)') or text:match('%$(%d+)')
а если точек еще больше будет?
Lua:
local money = text:match('%$[%d%.]+')
1697902054382.png

1697902060470.png

Hinаta

Известный
777
363
у меня есть строка 'Вы купили Сироп фермера (1 шт.) у игрока Makima_Akinowa за $100.000'.
как достать текст 100.100?
пробовал так:
str_ = 'Вы купили Сироп фермера (1 шт.) у игрока Makima_Akinowa за $100.000' local str = str_:match('%$(%d+)')'Вы купили Сироп фермера (1 шт.) у игрока Makima_Akinowa за $100.000' local str = str_:match('%$(%d+)'):
очевидно, хукнулась первая часть до точки. пробовал число заменять на .+, тогда str = nil.
Lua:
text:match('%$(%d+%.%d+)')
1697901683866.png
 

kyrtion

Известный
1,175
435
а если точек еще больше будет?
Lua:
local money = text:match('%$[%d%.]+')
Посмотреть вложение 218603
Посмотреть вложение 218604
Если в цифрах окажется без точек, то по моему нужно ставить точка с вопросам в регулярном выражением, то проверяет с точками и без
 
  • Bug
Реакции: DZONE