|
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
02.09.2010, 10:40
|
#1
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Питон. Регулярка
Кто-нибудь знает Питон? Нужно решить задачу с регулярными выражениями. Суть такова:
Исходная строка
Баланс число руб. Сумма бонуса - число руб
где число - число с плавающей запятой; разделитель ","; точность - 2 цифры.
Необходимо привести к формату:
Пробелы и прочее plane-форматирование оригинально.
|
Пример:
выводит
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
02.09.2010, 10:45
|
#2
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Питон. Регулярка
Использование регулярных выражений обязательный пункт?
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
02.09.2010, 10:49
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Питон. Регулярка
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.09.2010, 10:59
|
#4
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Питон. Регулярка
http://realcode.ru/regexptester/
Вернёт:
число1 число2
В регулярке сивол "/" ажбы откуда не приставишь.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.09.2010, 11:26
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Питон. Регулярка
Чтобы найти два числа подойдет выражение как написал рандом
Остается из них составить строку
UPD
возможно что-то вроде:
import re
matches = re.findall(r"[0-9]+[,0-9]+", "Баланс 12,0 руб. Сумма бонуса - 13,56 руб")
textToDisplay = "Баланс "+ matches[0] +" / "+ matches[1]
upd2 питон подтвердил результат
>>> import re
>>> matches = re.findall(r"[0-9]+[,0-9]+", "Баланс 12,0 руб. Сумма бонуса - 13,56 руб")
>>> textToDisplay = "Баланс "+ matches[0] +" / "+ matches[1]
>>> textToDisplay
'Баланс 12,0 / 13,56'
>>>
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.09.2010, 11:29
|
#6
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Питон. Регулярка
Сообщение от Randomize
|
Вернуло только первое число
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:52.
|