извлекать информацию из ссылки URL в листах Google - PullRequest
0 голосов
/ 29 сентября 2018

Я настроил документ Google Sheets для отслеживания работы редколлегии добровольцев, в которой я участвую: https://docs.google.com/spreadsheets/d/1MQoTMWE4bw8-qoKzz-o04jUmV1xL4HVFCkuK_pdj0mw/edit?usp=sharing

Я создал список всех сайтов (столбец A), которые мыпосетить, каждая из которых ссылается непосредственно на соответствующую страницу сайта.Идентификатор сайта (столбец B) является целым числом, которое полезно для администрирования сайта, поэтому я хотел бы включить его в документ.Идентификатор включен в URL (его можно увидеть в конце, когда вы наведете курсор на ссылки в столбце A).

Я мог бы, очевидно, ввести их вручную, но мне было интересно, есть ли способ извлечь информацию из URL-адреса в столбце A и поместить ее в столбец B с помощью функции.Я знаю об 'index (split)' и некоторых функциях регулярных выражений, но я не знаю, как взаимодействовать с URL вместо строки в столбце A. Кто-нибудь знает способ обойти это?

Спасибо взаранее

Джейми

1 Ответ

0 голосов
/ 29 сентября 2018

Отредактировано:

Я написал это

function getLinkFromRef()
{
  var cell = SpreadsheetApp.getActiveRange( ).offset(0, -1)

  var formula = cell.getFormula( );

  if( !( /=HYPERLINK\(".*\)/.test(formula) ) )
    return "No HYPERLINK/cell value reference founded.";

  var pattern = /(?!id)\d{1,}(?=";)/;

  var resultado = formula.match(pattern);

  if( resultado != null )
    return resultado[ 0 ];
  else
    return "#No ID available#";
}

Использование в вашей ячейке = getLinkFromRef ()

Я сделал тест здесь , проверьте.

...