Как я могу извлечь конкретное слово или слова из URL-адреса, чтобы отобразить их в другом столбце в Google Spreadsheets? URL-адрес: https://seatgeek.com/bands/katy-perry?p=3, и мне нужно извлечь «katy perry» из этого URL-адреса. Я также должен создать вторую формулу, которая отобразит тот же URL-адрес с датой из другого столбца в электронной таблице.Мне нужно извлечь конкретное слово или слова из URL-адреса
ответ
Посмотрите регулярные выражения для VBA. Таким образом, вы можете выполнять сопоставление с большой гибкостью.
Здесь:
http://www.macrostash.com/2011/10/08/simple-regular-expression-tutorial-for-excel-vba/
или еще лучше, здесь:
How to use Regular Expressions (Regex) in Microsoft Excel both in-cell and loops
Я довольно Excel неграмотный, так что это все греческие для меня. –
Как это - изменение A3 по мере необходимости, чтобы соответствовать ячейки с URL: =SUBSTITUTE(MID(A3,SEARCH(";",SUBSTITUTE(A3,"/",";",4))+1,FIND("?",SUBSTITUTE(A3,"/",";",4))-SEARCH(";",SUBSTITUTE(A3,"/",";",4))-1),"-"," ")
Что это значит, это отключить «/» прямо перед «кат» y-perry 'с уникальной (к этой ячейке) меткой, точкой с запятой. Затем, используя MID(), извлеките информацию между замещенным ';' и «?».
Редактировать: Это должно работать с любой длиной имени (т. Е. «Katy-perry», «katyyyyyy-peeerrryyy»). Обратите внимание, что предполагается, что вы всегда будете иметь URL с четырьмя «/» перед именем исполнителя.
Будет ли это работать и в таблицах Google? –
@DerekTheaker - я не уверен, я никогда не использовал Google Spreadsheets, но я бы поспорил, что у них есть аналогичная функция, которая должна помочь. Изменить: похоже, что Jeeped (ниже) имеет совместимое с Google Spreadsheets решение. – BruceWayne
Единственный URL-адрес образца, который вы указали, оставляет желать лучшего, будет ли конфигурация стандартной для многих других URL-адресов, которые вы указали. Если это типично для того, как создаются другие URL-адреса, вы можете определить знак вопроса и последнюю косую черту для анализа katy-perry. Здесь все в порядке.
Следующие инструкции предполагают, что https://seatgeek.com/bands/katy-perry?p=3 находится в A1.
- Добавить знак вопроса до конца на всякий случай, если его нет в URL-адресе и используйте первый вопросительный знак, найденный для удаления чего-либо права.
=LEFT(A1, FIND("?", A1&"?")-1)
- Заменить все косые черты на 99 пробелов.
=SUBSTITUTE(LEFT(A1, FIND("?", A1&"?")-1), "/", REPT(" ", 99))
- Пил с правого большинства 99 символов и обрезать лишние пробелы.
=TRIM(RIGHT(SUBSTITUTE(LEFT(A1, FIND("?", A1&"?")-1), "/", REPT(" ", 99)), 99))
Результат должен Katy-грушевый. Эта формула удобна для Google-Spreadsheet.
Просто любопытно, почему вы решили сделать 99 пробелов? Просто чтобы убедиться, что знаете набор, который нужно искать? – BruceWayne
@ user3578951 - a) Вам нужно больше пробелов, чем символов, в любом месте, которое вы хотите проанализировать, и * 9 * не показалось достаточным для всех ситуаций. B) если вы собираетесь набирать 2 цифры, идите на максимум, чтобы эти два цифры позволяют; * 50 * кажется глупым, если вы можете использовать одинаковое количество цифр для * 99 *. – Jeeped
Что вы пытаетесь? Всегда ли это будет «katy-perry» или текст будет меняться? – Soulfire
Я попытался, НАЙТИ, ПОИСК ... Это будет отличаться, поскольку список зависит от каждой строки. –