~localhost
Green Team
Привет). написал скрип чтобы из документа по шаблону нужные мне строки и записывал в новый документ. но проблема в том что он записывает в таком виде 5['| 10 198.252 '] а нужно привести к такому виду 5 = 100 198.252 и после второго числа дописывал 0.
Пробовал снова открывать созданный питоном документ, и использовать re.sub но с ним что то у меня не получилось. Подскажите что можно использовать или хотя бы в нужное направление)
[doublepost=1514141416,1514041945][/doublepost]Решение данной проблемы:
И так я написал небольшой с крипт который с помощью регулярных выражений по заднному шаблону ищу нужные мне совпадения ищу с помощью re.findall() как стало известно он возвращает список с одним элементом ( не важно сколько у вас там всего) если просто вывести на экран то получим следующее
[ ' то что мы нашли ' ] в мое случае ['| 10 198.252 ']
а что если вам так же как и мне не нужны квадратные скобки и одинарные кавычки, а еще вы хотите вставить в по середине найденного результата что то свое, как в моем случае. Нам поможет так называем срез списка (list indexing) он вывод на экран индексы тех элементов которые мы укажем в квадратных скобка [ a : b : c ]
где a - первый индекс b - последний с - шаг
но в моем случае индекс один по этому будет выглядеть так [0] [1:3] т.е в первых квадратных скобках мы указывает первый элемент он же единственный а во вторых мы его уже разбиваем.
вот как было у меня:
Может что то дополните или поправите меня, я буду признателен т.к. стаж программирования у меня 1 неделя))
Пробовал снова открывать созданный питоном документ, и использовать re.sub но с ним что то у меня не получилось. Подскажите что можно использовать или хотя бы в нужное направление)
[doublepost=1514141416,1514041945][/doublepost]Решение данной проблемы:
И так я написал небольшой с крипт который с помощью регулярных выражений по заднному шаблону ищу нужные мне совпадения ищу с помощью re.findall() как стало известно он возвращает список с одним элементом ( не важно сколько у вас там всего) если просто вывести на экран то получим следующее
[ ' то что мы нашли ' ] в мое случае ['| 10 198.252 ']
а что если вам так же как и мне не нужны квадратные скобки и одинарные кавычки, а еще вы хотите вставить в по середине найденного результата что то свое, как в моем случае. Нам поможет так называем срез списка (list indexing) он вывод на экран индексы тех элементов которые мы укажем в квадратных скобка [ a : b : c ]
где a - первый индекс b - последний с - шаг
но в моем случае индекс один по этому будет выглядеть так [0] [1:3] т.е в первых квадратных скобках мы указывает первый элемент он же единственный а во вторых мы его уже разбиваем.
вот как было у меня:
Код:
import re
Создал шаблон по которому осуществляется поиск. для записи в шаблон своей переменной используйте re.escape()
search = r"\|\s+" + re.escape(str(i)) + r"\s+\w+\.\w+[|,\s]"
По заданном шаблону ищем все совпадения в тексте
result = re.findall(search, mytext)
на выходу получал это
['|10 198.252 '] там порядка 300+ таких строк
Мне это дело надо было привести к виду
1 100 = 198.252 , где 1 это номер по порядку, + к второму число добавляем 0 и после него ставим равно
В итоге на выходе вот такая строка:
str (y) + ' = ' + result[0][1:6] + '0' + result[0][6:17] + '\n'
где y это переменная которая считает номер по порядку
Может что то дополните или поправите меня, я буду признателен т.к. стаж программирования у меня 1 неделя))