Поиск и замена текста

Google Apps Script:
Поиск и замена текста

Как это сделать:

Google Apps Script предлагает простой способ поиска и замены текста, особенно в Google Документах и Таблицах. Ниже приведены примеры для обоих случаев.

Google Документы:

Для поиска и замены текста в документе Google вам преимущественно понадобится взаимодействовать с классом DocumentApp.

function searchReplaceInDoc() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  
  // Чтобы найти и заменить конкретную фразу
  body.replaceText('searchText', 'replacementText');
  
  DocumentApp.getActiveDocument().saveAndClose();
}

// Использование
searchReplaceInDoc();

Этот фрагмент кода ищет все вхождения 'searchText' в активном документе Google и заменяет их на 'replacementText'.

Google Таблицы:

Аналогично, в Google Таблицах вы можете использовать SpreadsheetApp для выполнения операций поиска и замены:

function searchReplaceInSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // Поиск и замена в текущем активном листе
  // replaceText(searchText, replacement)
  sheet.createTextFinder('searchText').replaceAllWith('replacementText');
}

// Использование
searchReplaceInSheet();

В этом примере createTextFinder('searchText') ищет в активном листе ‘searchText’, а replaceAllWith('replacementText') заменяет все вхождения на ‘replacementText’.

Подробнее

Функциональность поиска и замены в Google Apps Script сильно зависит от его веб-ориентированного характера, позволяя скриптам без проблем манипулировать текстом в различных приложениях Google. Исторически эта возможность происходит из более широкого контекста обработки и манипуляции текста в программировании, где регулярные выражения и строковые функции в таких языках, как Perl и Python, установили высокий стандарт гибкости и мощности.

Хотя функциональность поиска и замены в Google Apps Script мощная для простых замен, она не обладает полными возможностями регулярных выражений, найденными в некоторых других языках. Например, хотя вы можете использовать базовые регулярные выражения в createTextFinder в Google Таблицах, возможности для сложного сопоставления с образцами и манипуляции ограничены по сравнению с Perl или Python.

Для более продвинутых потребностей в обработке текста программисты могут прибегать к экспорту содержимого Google Документов или Таблиц в формат, который можно обрабатывать внешне с помощью более мощных языков, или использовать Google Apps Script для вызова внешних API или сервисов, предлагающих более сложные возможности манипуляции с текстом.

Несмотря на эти ограничения, для большинства типичных задач поиска и замены в экосистеме Google Apps, Google Apps Script предлагает простое, эффективное и высокоинтегрированное решение, адаптированное к потребностям автоматизации и написания скриптов в наборе инструментов для повышения продуктивности от Google.