Как удалить все после второго "" в строке, используя replace (), slice () или другую функцию в гугл листах - PullRequest
0 голосов
/ 01 февраля 2020

Так что в настоящее время я разрабатываю функцию для форматирования некоторых ячеек ввода в Google Sheets с использованием скриптов приложения API.

Сейчас я беру данные из нескольких ячеек и слегка их форматирую для соответствия сгенерированной вручную системе.

Одна ячейка является ячейкой школьного имени. Иногда эти имена имеют тенденцию быть длинными, я не обладаю достаточным опытом в javascript, но сейчас я беру аргумент из ячейки, как бы я определил переменную этого аргумента, чтобы он принимал только все в ячейке вплоть до второго пробел.

EX:
Ячейка A #: заполнение бланков старшей школы

Вывод: Заполнение бланк Высокий

/**
*Generates a Trip Key
*
*@param DateColumn Date 
*@param SchoolColumn School name
*@param LocationColumn Location
*@customfunction
*/
function GENERATEKEY(DateColumn, SchoolColumn, LocationColumn) {
  var DateConver = Utilities.formatDate(DateColumn, SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "MM.dd.yyyy");
  var SchoolClean = SchoolColumn.replace(

  return DateConver + " " + SchoolColumn + " " + "@" + " " +  LocationColumn  
}

Ответы [ 2 ]

2 голосов
/ 01 февраля 2020

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

var SchoolClean = SchoolColumn.replace(/^(\S*\s*\S*).*/, '$1');

\S соответствует непробельным символам, \s соответствует пробелу. Таким образом, \S*\s*\S* соответствует непробелам, за которыми следуют пробелы и непробелы. Тогда .* соответствует остальной части строки. Замена - $1, это как раз то, что соответствовало части в скобках.

0 голосов
/ 01 февраля 2020
function selectText(data) {
  var idx1=data.indexOf(' ');//location of first space
  var idx2=data.indexOf(' ',idx1+1);//starts looking for second space 1 after first space.
  var s=data.slice(0,idx2);//idx2 + 1 if you want the second space
  return s;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...