Пошук та заміна тексту

Google Apps Script:
Пошук та заміна тексту

Як це зробити:

Google Apps Script пропонує простий спосіб пошуку та заміни тексту, особливо в Google Docs та Sheets. Нижче наведені приклади для обох.

Google Docs:

Для пошуку та заміни тексту в Google Документі ви переважно взаємодієте з класом DocumentApp.

function searchReplaceInDoc() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  
  // Для пошуку та заміни конкретної фрази
  body.replaceText('searchText', 'replacementText');
  
  DocumentApp.getActiveDocument().saveAndClose();
}

// Використання
searchReplaceInDoc();

Цей фрагмент коду шукає всі випадки 'searchText' у активному Google Документі та замінює їх на 'replacementText'.

Google Sheets:

Аналогічно, у Google Sheets ви можете використовувати 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 Apps. Історично ця можливість випливає з ширшого контексту обробки та маніпуляції текстом у програмуванні, де регулярні вирази та функції строк у таких мовах, як Perl та Python, задали високі стандарти гнучкості та потужності.

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

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

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