Попытка вытащить слово из строки в скрипте Google на листах Google. Не знаком с языком, не могу заставить функции работать - PullRequest
0 голосов
/ 08 мая 2020

Я ванильный C парень, и у меня просто не получается осмыслить сценарий Google в проекте листов Google. Я хочу скопировать / вставить кусок текста в ячейку (1, 1), нажать кнопку, затем вытащить данные из этой строки и превратить ее в красивую таблицу. Просто возникли проблемы с синтаксическим анализом строки ... Моя мысль состоит в том, чтобы найти слово "DUG", а затем дать мне слово после него.

Формат большого двоичного объекта: мусор мусор DUG Имя пользователя мусор мусор DUG Номер пользователя мусор мусор DUG Имя пользователя мусор мусор DUG Usernumber (et c et c).

Проблема: я могу найти первый экземпляр слова DUG, но не могу разрезать строку на это место. Я слышал об использовании left (), right () или mid (), но он говорит, что этих функций не существует. Кажется, я упускаю что-то легкое. Есть какие-нибудь советы для новичка? Большое вам спасибо!

// function runs when button is clicked
function SortCustomerList() {
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var sheetName = spreadsheet.getName();

  var pastedDataRange = spreadsheet.getRange(1, 1);                // location of the pasted data
  var pastedData = pastedDataRange.getValue();                     //     get the data from that cell
  var pastedText = pastedData.toString();                          //     convert that data into a string

  // returns an index location of where "DUG" starts in the string
  var foundLoc = pastedText.indexOf("DUG");                        


  // show me that location for testing (number. int?) ***works!!***
  spreadsheet.getRange(4, 1).activate();
  spreadsheet.getCurrentCell().setValue(foundLoc);                 





  // i want to chop the string at "DUG", show me everything to the right, starting where you found "DUG"
  // ****doesnt work. returns the entire paste, not chopped
  spreadsheet.getRange(10, 1).activate();            
  spreadsheet.getCurrentCell().setValue(pastedText.split(foundLoc));        







  // future:  rather than the rest of the string, just give me the word after "DUG"
  //          set index (foundLoc) to AFTER the "DUG Username", to find the next instance of "DUG"
  //          loop it, until there are no more instances of the word "DUG"
  //          put it into pretty rows and columns



  spreadsheet.getRange(5, 1).activate();
  spreadsheet.getCurrentCell().setValue('Test Ran!');
};

1 Ответ

1 голос
/ 08 мая 2020

похоже, что мне нужен инструмент substring (). просто замените split () на substring (), и он «просто заработает». Спасибо другу, который помог, и спасибо всем за помощь, которую я искал за эти годы. ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...