поиск и замена
- Author
- Message
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 27
- Joined: Sun Mar 16, 2008 10:26 pm
Прошу помощи в автоматизации замены цифр.
Есть построчный текст:
Нужно заменить каждую строку на соотв. порядковый номер в данном диапазоне:
Есть построчный текст:
Code: Select all
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
... 772-786
Code: Select all
... 772
... 773
...
... 785
... 786
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
-
Offline
- Posts: 1
- Joined: Tue Jul 29, 2014 3:37 pm
Здравствуйте!
Подскажите пожалуйста как можно сделать следующее:
есть файл в котором примерно следующий текст
"
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
"
и так далее много строк
Подскажите как заменить число 67394 чтобы было вот так
"
Вася собрал 67394 яблок
Вася собрал 67393 яблок
Вася собрал 67392 яблок
Вася собрал 67391 яблок
Вася собрал 67390 яблок
Вася собрал 67389 яблок
"
Подскажите пожалуйста как можно сделать следующее:
есть файл в котором примерно следующий текст
"
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
"
и так далее много строк
Подскажите как заменить число 67394 чтобы было вот так
"
Вася собрал 67394 яблок
Вася собрал 67393 яблок
Вася собрал 67392 яблок
Вася собрал 67391 яблок
Вася собрал 67390 яблок
Вася собрал 67389 яблок
"
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Volandqq
Ответ на почти такой вопрос давался месяцем ранее. Читайте.
Вам только укоротить условие поиска
[Что]: ^(.*?)(\d+)
и поменять в функции плюс на минус у счетчика
[Чем]: if (typeof nInit == "undefined" || nInit != parseInt($2)) {nInit=parseInt($2); nCount=0;} return $1 + (nInit - nCount++);
Ответ на почти такой вопрос давался месяцем ранее. Читайте.
Вам только укоротить условие поиска
[Что]: ^(.*?)(\d+)
и поменять в функции плюс на минус у счетчика
[Чем]: if (typeof nInit == "undefined" || nInit != parseInt($2)) {nInit=parseInt($2); nCount=0;} return $1 + (nInit - nCount++);
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
-
Offline
- Posts: 294
- Joined: Tue Jul 27, 2010 11:18 pm
Lenchikна?
Code: Select all
(?<=[^знаки])\b([A-Za-zЁА-Яа-яё]+)
Code: Select all
добавляемый текст\1
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Это надо автора попросить, чтобы помог.Lenchik wrote: какую функцию написать?
Как-то пытался найти описание, но увы, либо плохо искал, либо его нет в природе... а пример использования функций, приведенный в начале самого файла, не раскрывает всех возможностей.
А так, я бы это каким-нибудь sed-ом сделал, но здесь это уже оффтоп.
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
Lenchik
SearchReplace.js ("Regular expressions", "Multiline", "Replace with function").
What:
With:
SearchReplace.js ("Regular expressions", "Multiline", "Replace with function").
What:
Code: Select all
^[^;\r\n].*
Code: Select all
return "ReplaceText" + arguments[0].replace(/ /g, "ReplaceText");
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Да, в готовом решении от джедая уже разобраться можно, но вот как найти решение не имея описания или хотя бы примеров... действительно, на магию похоже.Lenchik wrote: Hope i will understand someday how this magic function of you works.
![Smile :)](./images/smilies/icon_smile.gif)
А работает она так:
С помощью регэкспа и определенных настроек формы замены выбираются необходимые строки, из выборки исключаются пустые строки и строки без начального символа ";", затем к выборке применяется функция замены пробелов на необходимый текст.