Здравствуйте!
Подскажите пожалуйста как можно сделать следующее:
есть файл в котором примерно следующий текст
"
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
"
и так далее много строк
Подскажите как заменить число 67394 чтобы было вот так
"
Вася собрал 67394 яблок
Вася собрал 67393 яблок
Вася собрал 67392 яблок
Вася собрал 67391 яблок
Вася собрал 67390 яблок
Вася собрал 67389 яблок
"
Posted: Tue Jul 29, 2014 8:08 pm
by opk44
Volandqq
Ответ на почти такой вопрос давался месяцем ранее. Читайте.
Вам только укоротить условие поиска
[Что]: ^(.*?)(\d+)
и поменять в функции плюс на минус у счетчика
[Чем]: if (typeof nInit == "undefined" || nInit != parseInt($2)) {nInit=parseInt($2); nCount=0;} return $1 + (nInit - nCount++);
Posted: Wed Jul 30, 2014 6:04 pm
by Serge Yolkin
Cuprum
Может, этот вариант менее корректен, но я делаю так:
что: \n+
на: \n
[x] регэксп
Нужно в строках не начинающихся со знака ; заменить каждое начало строки и каждый пробел на определенный текст. По сути перед словами кое что вписать. Каким регекспом это выполнить?
Так вставятся символы во все строки, а по условию, в строках где начальный символ ";", добавлять ничего не нужно. Тут без SearchReplace.js, с его возможностью добавления функции, не обойтись.
Posted: Thu Sep 25, 2014 5:31 pm
by Lenchik
Действительно, не работает как надо.
какую функцию написать?
Posted: Thu Sep 25, 2014 6:50 pm
by YuS
Lenchik wrote:
какую функцию написать?
Это надо автора попросить, чтобы помог.
Как-то пытался найти описание, но увы, либо плохо искал, либо его нет в природе... а пример использования функций, приведенный в начале самого файла, не раскрывает всех возможностей.
А так, я бы это каким-нибудь sed-ом сделал, но здесь это уже оффтоп.
Posted: Thu Sep 25, 2014 7:29 pm
by KDJ
Lenchik
SearchReplace.js ("Regular expressions", "Multiline", "Replace with function").
What:
Great! Works! You saved me a lot of time making new .coder file. Thank you!
Hope i will understand someday how this magic function of you works.
Posted: Fri Sep 26, 2014 2:34 am
by YuS
Lenchik wrote:
Hope i will understand someday how this magic function of you works.
Да, в готовом решении от джедая уже разобраться можно, но вот как найти решение не имея описания или хотя бы примеров... действительно, на магию похоже.
А работает она так:
С помощью регэкспа и определенных настроек формы замены выбираются необходимые строки, из выборки исключаются пустые строки и строки без начального символа ";", затем к выборке применяется функция замены пробелов на необходимый текст.