что необходимо записать в строки find what и replace with
Regex и Win cmd, простенький пример
Заметил, что здесь много сложных и интересных статей про Win cmd и Regex, но гораздо меньше чего-то простого, с чего можно начать знакомство с этими мощными инструментами.
Идея написания этого урока возникла, когда я понял, что наверняка такие же задачи пытается решить еще кто-то и возможно такая статейка поможет кому-нибудь поменять рутинный копи-паст на гораздо более интересный и технологичный метод написания кода.
Итак, вводная:
Небольшой сайт. Вбиваю туда ссылки на изображения, причем в каждую ссылку должна быть вложена миниатюра большого изображения. Т.е., затронем вопросы как автоматически создать список файлов в папке и как быстро добавить список файлов в html код страницы.
Изображения разложил в папочке на локальном диске, но там их много и лень копипастить, да и сколько можно? Внезапно обнаружил, что пальцы уже набирают в комстроке:
dir /b /A:-D> spisok.txt
Dir создаст список файлов, /b оставит только имена файлов и их расширения, /A:-D выведет только файлы, но не папки, > загонит это все в текстовой файл с названием spisok.txt.
Теперь получившийся файл открываем в Notepad++ (хотя можно наверное и в редакторе с аналогичным функционалом), где делаем следующее:
Ctrl+H, открывается окно c закладкой Replace,
Find What:
(.*)\.(.*)
Внизу ставим галочку Regular Expression, а Wrap around и .matches newlin убираем.
Жмем Replace All.
Однако, если в названии файлов содержится не одна тока, то возникнут проблемы. См. конец статьи и комментарии.
Команда, записанная в Find делает следующее:
выбирает в найденной строке все, что до точки, затем ее саму и все после нее. Причем все, что до точки сохраняется под номером 1, а все, что после нее, под номером 2. Мы воспользуемся этим позже.
Далее, команда замещает выбранную строку на то, что записано в Replace with, т.е. на тег ссылки, в котором прописан путь и в который вложен тег картинки c миниатюрой большого изображения.
Теперь, рассмотрим каждую строчку.
(.*)\.(.*)
. — означает найти любой символ
* — означает, взять как можно больше
т.е. «.*» будет означать примерно следующее: найти и выделить как можно больше символов, любых. Т.е. выделить всю строку. И эта команда все и выделит, если бы не:
\. — означает выделить точку.
Однако, точка только что была описана мной как команда, выделяющая любой символ. Дело в том, что Regex использует символ «\» как команду. Эта команда означает одно из двух:
— если за этим символом идет какой-то спецсимвол, который сам используется как команда, то вывести этот символ сам по себе, а не команду. Т.е. «.» он воспримет как «искать любой символ», а «\.» просто как точку. Если ввести просто Бэкслеш «\» то он будет ожидать, что это команда, а двойной бэкслеш «\\» выведет просто сам символ «\».
— если за этим символом идет число, то скопировать сюда то, что было в скобке в поиске (вместо «\1» будет помещено то, что попало в первую слева скобку при поиске, т.е. имя файла до точки, а вместо «\2», то, что во вторую, т.е. расширение файла, и т.д.) — этим мы воспользуемся чуть позже.
\\\1_small\.\2 — где «\\» выводит бэкслэш, нужный в адресе файла, «\1» выводит содержимое первой скобки, «\.» выводит точку, а \2 это содержимое второй скобки.
_small – это просто текст, он вставляется перед точкой. Уменьшенные изображения придется переименовать, чтобы в конце их названия был суффикс _small. Именно для того, чтобы вставить этот _small перед расширением, я и сделал две скобки в поиске, чтобы можно было _small заключить названием файла слева и расширением этого же файла справа.
» alt=» – это опять кусок тэга, атрибут alt, а после него:
=»\1″> — где \1 вставляет название файла в атрибут alt, а после него добавляется закрывающий тэг.
Поскольку расширение файла от его имени отделяется всегда только точкой, то ее я «запоминать» не приказываю (т.е. в поиске не заключаю в скобки), но, по сути, можно было бы записать и так:
Результат будет тот же. Но это выражение гибче, потому, что можно во вторую скобку вписать, например:
Команда поиска будет выглядеть так: (.*)([[:punct:]])(.*)
Так можно выделить начало и конец какого-то кода или слова, где посередине расположен соответствующий символ. Но это уже за пределами данной статейки.
Благодарю за внимание, надеюсь, кому-нибудь было полезно узнать то, что я здесь изложил.
Ресурсы:
UPD
Если в названии файлов содержится не одна тока, то возникнут проблемы. Простейшим способом избежать такой сложности будет переименовать файлы так, чтобы там не было точек нигде, кроме расширений (графический редактор с функцией массового переименовывания файлов подойдет).
Более продвинутый вариант предложен в ходе обсуждения этой статьи:
^(.*)\.([^\.]+)$ ©FilimoniC
Выделит все, до последней точки в имени файла. Т.е. до той, которая находится перед расширением.
Еще более сложный пример смотрите в обсуждении от юзера RumataEstora
Find What & Replace With: MS Excel поиск и замена нескольких символов в ячейке с помощью двух столбцов
Старый текст: <Мистер и миссис>Джон Peterson_Jones @ <444>585/0000 новый текст: мистер миссис & Джон Петерсон-Джонс
2 ответа
В моем проекте иногда бывает так,что пользователь вводит неанглийские символы в столбец name. Я хочу найти в нескольких таблицах моей базы данных неанглийские символы и удалить их или заменить на » (пустая строка). Я уже прошел по следующим ссылкам, но до сих пор ответ не ясен: Замена нескольких.
То, что вы хотите сделать, может быть просто быстрее с помощью функции «find and replace» (ctrl+f), а не с помощью формулы. Проблема с формулами в excel s заключается в том, что они специфичны для ячеек, а не для символов. Для того, чтобы сделать то, что вы хотите, с формулой, которую вы ищете, существует множество вложенных операторов if, написание которых займет довольно много времени.
Выберите вкладку Столбец->Данные->Текст в столбцы-> разделители-> Установите флажок » @ » в поле. Это не исправит имена, но переместит все телефонные номера в другой столбец для массового удаления. Как только вы удалите цифры и знак@, вам просто нужно заменить скобки и подчеркивания.
Если вы можете использовать макрос, вы можете сделать что-то вроде этого:
Похожие вопросы:
Есть ли у кого-нибудь лучшее исправление для следующей ошибки, которую я получаю в Excel 2013 году на Windows 10 Enterprise Technical Preview Build 9926. Проблема возникает при попытке запустить.
Я хочу избавиться от нескольких специальных символов, которые могут появиться в определенном столбце, и заменить его пробелом, но я продолжаю получать эту ошибку, когда пытаюсь записать свой файл в.
В моем проекте иногда бывает так,что пользователь вводит неанглийские символы в столбец name. Я хочу найти в нескольких таблицах моей базы данных неанглийские символы и удалить их или заменить на ».
Я наткнулся на приведенный ниже код, который выполняет поиск в открытом документе word и выполняет поиск и замену во всех областях (StoryRanges) документа. Он работает нормально, однако я хотел бы.
Я хочу очистить и установить форматирование ячеек в общее для всех ячеек на листе, который: содержат MyText и форматируются в процентах Я использую диалог Find&Replace (CTRL+H), но: если я.
По какой-то причине я не могу найти никакой информации об этом в интернете. Допустим, у вас есть лист Excel, и в ячейке А1 вы ставите цифру 5. Теперь вы хотите заменить все 5 в вашем документе на.
У меня есть некоторые даты в ячейках как стандарт ISO (YYYY/MM/DD), но меня просят изменить их на DD MMMMMMMM YYYY, например, 1 января 2018 года. Есть несколько дат в одной ячейке, я проверил.
В MS Excel пусть ячейки A5 и B5 имеют некоторый текст. Я хочу объединить этот текст таким образом, чтобы он мог появиться в двух строках в одной ячейке. Не могли бы вы предоставить решение?
Find or replace text and numbers on a worksheet
Use the Find and Replace features in Excel to search for something in your workbook, such as a particular number or text string. You can either locate the search item for reference, or you can replace it with something else. You can include wildcard characters such as question marks, tildes, and asterisks, or numbers in your search terms. You can search by rows and columns, search within comments or values, and search within worksheets or entire workbooks.
To find something, press Ctrl+F, or go to Home > Editing > Find & Select > Find.
Note: In the following example, we’ve clicked the Options >> button to show the entire Find dialog. By default, it will display with Options hidden.
In the Find what: box, type the text or numbers you want to find, or click the arrow in the Find what: box, and then select a recent search item from the list.
) — in your search criteria.
Use the question mark (?) to find any single character — for example, s?t finds «sat» and «set».
Use the asterisk (*) to find any number of characters — for example, s*d finds «sad» and «started».
to find question marks, asterisks, or other tilde characters — for example, fy91
Click Find All or Find Next to run your search.
Tip: When you click Find All, every occurrence of the criteria that you are searching for will be listed, and clicking a specific occurrence in the list will select its cell. You can sort the results of a Find All search by clicking a column heading.
Click Options>> to further define your search if needed:
Within: To search for data in a worksheet or in an entire workbook, select Sheet or Workbook.
Search: You can choose to search either By Rows (default), or By Columns.
Look in: To search for data with specific details, in the box, click Formulas, Values, Notes, or Comments.
Note: Formulas, Values, Notes and Comments are only available on the Find tab; only Formulas are available on the Replace tab.
If you want to search for text or numbers with specific formatting, click Format, and then make your selections in the Find Format dialog box.
Tip: If you want to find cells that just match a specific format, you can delete any criteria in the Find what box, and then select a specific cell format as an example. Click the arrow next to Format, click Choose Format From Cell, and then click the cell that has the formatting that you want to search for.
Replace
To replace text or numbers, press Ctrl+H, or go to Home > Editing > Find & Select > Replace.
Note: In the following example, we’ve clicked the Options >> button to show the entire Find dialog. By default, it will display with Options hidden.
In the Find what: box, type the text or numbers you want to find, or click the arrow in the Find what: box, and then select a recent search item from the list.
) — in your search criteria.
Use the question mark (?) to find any single character — for example, s?t finds «sat» and «set».
Use the asterisk (*) to find any number of characters — for example, s*d finds «sad» and «started».
to find question marks, asterisks, or other tilde characters — for example, fy91
In the Replace with: box, enter the text or numbers you want to use to replace the search text.
Click Replace All or Replace.
Tip: When you click Replace All, every occurrence of the criteria that you are searching for will be replaced, while Replace will update one occurrence at a time.
Click Options>> to further define your search if needed:
Within: To search for data in a worksheet or in an entire workbook, select Sheet or Workbook.
Search: You can choose to search either By Rows (default), or By Columns.
Look in: To search for data with specific details, in the box, click Formulas, Values, Notes, or Comments.
Note: Formulas, Values, Notes and Comments are only available on the Find tab; only Formulas are available on the Replace tab.
If you want to search for text or numbers with specific formatting, click Format, and then make your selections in the Find Format dialog box.
Tip: If you want to find cells that just match a specific format, you can delete any criteria in the Find what box, and then select a specific cell format as an example. Click the arrow next to Format, click Choose Format From Cell, and then click the cell that has the formatting that you want to search for.
There are two distinct methods for finding or replacing text or numbers on the Mac. The first is to use the Find & Replace dialog. The second is to use the Search bar in the ribbon.
Поиск и замена по коду в Visual Studio
Для того чтобы разработка была продуктивной, необходимо перемещаться по базе программ и быстро находить требуемый код. Система Visual Studio 2013 предоставляет не одну, а множество функций поиска, предназначенных для выполнения конкретных задач. Сначала мы обсудим каждую из этих функций, а также опишем ситуации, в которых они могут понадобиться.
Окно Quick Find/Replace
Простейшим инструментом поиска в системе Visual Studio 2013 является диалоговое окно Quick Find. Функциональные возможности поиска и замены в системе Visual Studio 2013 разделены между двумя командами, имеющими общие диалоговые окна и свойства, Quick Find и Quick Replace, которые выполняют поиск информации, которую необходимо быстро найти в открытом документе или текущем проекте. Эти два инструмента имеют ограниченные возможности для фильтрации и расширенного поиска, как будет показано далее, даже существующие свойства обеспечивают работу мощной поисковой системы, намного превосходящую практические потребности большинства пользователей.
Этот инструмент поиска лучше всего настроен на поиск и замену текста (в отличие от поиска и замены символа).
Команда Quick Find
Термин Quick Find в системе Visual Studio 2013 используется как название инструмента, имеющего самые главные функциональные возможности для поиска. По умолчанию он находит отдельное слово или фразу в текущем документе, но даже команда Quick Find имеет дополнительные возможности для расширенного поиска за пределами активного модуля и даже для использования шаблонных символов и регулярных выражений в запросе.
Показанная на рисунке панель незначительно отличается от версии Visual Studio 2012, однако, в более ранних версиях Visual Studio окно поиска было модальным, теперь же панель поиска является ненавязчивой. Вы можете ввести критерии поиска в текстовом поле или выбрать значение из предыдущих поисков, щелкнув по стрелке справа от текстового поля. По умолчанию область поиска ограничена текущим документом или окном редактирования.
Команда Quick Replace
Для того чтобы удалить повторяющиеся значения, просто выполните замену, ничего не указывая в поле ввода Replace With. Эта возможность позволяет находить все вхождения заменяемых значений и решать, следует ли их удалить.
Группа Find Options
Иногда необходимо отфильтровать результаты поиска, используя разные критерии. Именно в этой ситуации можно воспользоваться возможностями поиска. Во-первых, для того чтобы вывести на экран группу вариантов поиска (доступную во всех командах поиска и замены), следует щелкнуть на пиктограмме Find Options. В открывшемся диалоговом окне, содержащем набор флажков (для версии 2010) и раскрывающийся список, можно выбирать варианты поиска, как показано на рисунке ниже:
В версии Visual Studio 2010 эти опции также содержали варианты вида поиска: чувствительный к регистру (Match Case) или полное совпадение (Match Whole Word). Можно было также изменять направление поиска (Search Up) и указать, что вы собираетесь выполнять сложный поиск, используя шаблонные символы или регулярные выражения. В версии Visual Studio 2012 эти опции вынесли в отдельные кнопки, которые располагаются снизу в окне поиска.
Регулярные выражения при поиске
Регулярные выражения выводят поиск на совершенно новый уровень, позволяя выполнять сложные сравнения текстовых фрагментов с помощью инструмента RegEx, встроенного в систему Visual Studio 2013. Несмотря на то что в этой статье мы не планируем очень подробно описывать регулярные выражения (можете прочитать о них в статье регулярные выражения C#), они заслуживают упоминания как важная функциональная возможность диалогового Find and Replace, которую можно эффективно использовать.
Чтобы включить режим поиска с использованием регулярных выражений, необходимо нажать кнопку в виде звездочки внизу окна Quick Find. На рисунке ниже показан пример поиска переменных, содержащих в названии слово «value» и последующее за ним число:
Настройки Find and Replace
Как добавить текст в начало и конец каждой строки
Часто необходимо добавить в начало или конец каждой строки текст, символы или, например код. Когда таких строк с десяток, то простой способ «копи-паст» не вызывает затруднений. Когда строк набирается сотни или даже тысячи, то копи-паст не только отнимет много времени, но и превращается в занудное занятие.
Рассмотрим несколько простых способов как с помощью мощного редактора Notepad ++ вставить в начало или конец каждой строки текст, символы или теги без замены существующего текста или кода.
Способ как быстро вставить текст, символы или теги в начало каждой строки
Например, у нас есть список урл адресов вида newsbeat.ru/hi-tech/413-apple-details, нам необходимо в начало каждой строки добавить https://.
Для этого, в меню во вкладке «поиск» выбираем пункт «замена» или нажимаем сочетание клавиш «ctrl» + «h».
В открывшемся диалоговом окне:
В результате мы получаем список урл адресов вида https://newsbeat.ru/hi-tech/413-apple-details.
Способ как быстро вставить текст, символы или теги в конец каждой строки
Так же как и в предыдущем примере, в меню поиск выбираем пункт «замена» или нажимаем сочетание клавиш «ctrl» + «h».
В открывшемся диалоговом окне:
В результате мы получаем список урл адресов вида https://newsbeat.ru/seo/sitestroyenie.html.
Мы рассмотрели способы как с помощью редактора Notepad ++ можно добавить текст, символы или теги в начало или конец каждой строки.
Рассмотрим способ как за один прием с помощью Notepad ++ добавить текст, символы или теги и в начало и конец каждой строки.
Так же как и в предыдущих примерах, в меню поиск выбираем пункт «замена» или нажимаем сочетание клавиш «ctrl» + «h».
Результат должен получиться как на картинке ниже:
В завершении рассмотрим пример, когда нам нужно вставить в начало или конец каждой строки только в выделенной области части материала.
Например, у нас есть материал со списком городов, в конце названий города нужно вставить тег разрыва строки
.
Нам нужно выделить область текста, к которому нужно применить метод вставки тега в конец каждой строки.
Затем нам нужно указать Notepad ++ найти выделенную область, для этого в меню вкладки «Поиск» выбираем пункт «Искать выделенное далее» или нажимаем на клавиатуре сочетание клавиш ctrl + F3.
Далее в меню вкладки «Поиск» выбираем пункт «заменить» (поиск с заменой) или нажимаем на клавиатуре сочетание клавиш ctrl + h.
В открывшемся диалоговом окне, как и в предыдущих примерах:
В результате мы видим, что тег
вставлен не в конец каждой строки, а только в тех строках, которые мы определили как область для поиска, то есть те, которые мы выделили.
В качестве бонуса, весьма полезный и нужный приемчик который можно выполнить с помощью мощного редактора Notepad ++.
Как одновременно ввести текст, символы или теги в начало строк в выделенной области
Для примера вернемся к нашему материалу со списком городов. Например, к названию каждого города нам нужно добавить букву г с точкой.
Поставить курсор ввода в начало первой строки, «зажмите» и удерживайте клавиши shift и alt, используя клавишу курсора вниз выделить до последней необходимой строки или
поставить курсор ввода в начало первой строки, установить курсор мыши на начало последней строки области выделения, «зажмите» и удерживайте клавиши shift и alt выполнить клик левой кнопкой мыши.
Вы должны увидеть мигающий курсор ввода высотой с выделенную область. Текст будет вводиться в начало каждой строки.
Часто задаваемые вопросы:
Как называется мигающая вертикальная палочка?