Вот пример функции, которая разбивает ссылку, отформатированную, как вы описали, на отдельные столбцы текста и URL:
/**
* Splits an html <a> tag into its text content and URL components
* @param {string} Format is: "Optional leading text: <a href="url">Link Text</a>"
* @returns {string[][]} 1 row by 2 column string of text and url
* @customfunction
*/
function LINKSPLIT(string) {
var split = /(^[^<]*)(<a.*a>)/.exec(string);
try {
var document = XmlService.parse(split[2]);
} catch (error) {
throw new Error("Format is: \"Optional leading text: <a href=\"url\">Link Text</a>\"");
}
var content = document.getAllContent();
if (content.length != 1) {
throw new Error("XML parser found multiple tags. Please enter a single <a> tag only.");
}
return [[split[1] + content[0].getText(), content[0].getAttribute("href").getValue()]];
}
Это записано как пользовательская функция для Google Sheets , то есть что-то, что вы можете проверить в ячейке с =LINKTEST(ROW:COLUMN)
.Если вы импортируете события календаря через скрипт, вы можете взять этот пример и включить его в свой скрипт, чтобы он анализировал ссылки в процессе импорта.