Как можно в Apps Script написать код для удаления текста в ячейке до первого найденного символа?

Добрый день! <br/> У меня есть задача, которую необходимо решить. Например, в ячейке находится текст: "ЧЧЧ «ММММ «ТТТ» КККК» ЛЛЛ." Мне нужно удалить всё, что находится до первой кавычки («) и после последней кавычки (»). В результате должен остаться текст "«ММММ «ТТТ» КККК»". Я не могу разобраться, как это сделать, и не нашел информации в интернете. Можете помочь, пожалуйста?
  • 28 февраля 2025 г. 14:24
Ответы на вопрос 2
Добрый день!

Вам можно использовать Google Apps Script для выполнения этой задачи. Мы можем создать функцию, которая будет находить первую и последнюю кавычку в строке и обрезать текст до и после них.

Вот пример кода, который поможет вам реализовать это:

```javascript
function trimTextInCell() {
  // Получите активный документ Google Sheets
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // Задайте адрес ячейки, которую нужно обработать
  var cell = sheet.getRange('A1'); // Замените 'A1' на нужную вам ячейку

  // Получите текст из ячейки
  var text = cell.getValue();
  
  // Найдите индекс первой и последней кавычки
  var firstQuoteIndex = text.indexOf('«');
  var lastQuoteIndex = text.lastIndexOf('»');
  
  // Убедитесь, что кавычки найдены
  if (firstQuoteIndex !== -1 && lastQuoteIndex !== -1) {
    // Извлеките текст между кавычками (включительно)
    var trimmedText = text.substring(firstQuoteIndex, lastQuoteIndex + 1);
    
    // Установите обработанный текст обратно в ячейку
    cell.setValue(trimmedText);
  } else {
    // Если кавычки не найдены, вы можете обработать это как-то иначе
    Logger.log("Кавычки не найдены в тексте.");
  }
}
```

### Как использовать этот код:

1. Откройте Google Sheets, в который хотите добавить скрипт.
2. Нажмите на «Расширения» -> «Apps Script».
3. Удалите любой код, который уже есть в редакторе скриптов, и вставьте приведенный выше код.
4. Обновите диапазон ячейки (`'A1'`) на ту ячейку, с которой вы работаете.
5. Сохраните проект (например, как "Trim Text").
6. Запустите функцию `trimTextInCell` через меню или из редактора, нажав "▶️".

Теперь текст в указанной ячейке будет обрезан до первой кавычки и после последней кавычки. Если кавычки не найдены, сообщение будет записано в логах.
Apps Script 

function myFunction() {
  const range = SpreadsheetApp.getActiveSpreadsheet().getRange("C11");
  const value = range.getValue();
  const newValue = String(value).replace(/^.*?«(.*)».*$/gmi, "$1");
  range.setValue(newValue);
}


Или используйте формулу для работы с регулярными выражениями

=REGEXEXTRACT(C11;"«(.*)»")

Похожие вопросы