Извлечь текст после строки, используя GREL

Я пытаюсь добавить столбец на основе столбца в OpenRefine с использованием GREL.

Вот пример исходных данных ячейки:

https://www.example.com/notice/search/woa/(type)/SOMEWORD

Я хочу извлечь:

SOMEWORD

Поэтому мне нужно извлечь все после строки (type)/

Что такое функция GREL для этого?

2 ответа

Решение

Если "SOMEWORD" всегда является последней частью строки, вы также можете использовать:

value.split("/")[-1]

или же

value.rpartition("/")[2]

Если у вас есть URL-адреса, которые не содержат "тип", и вы не хотите, чтобы результат был одинаковым, вы можете отфильтровать строки только по тем, которые содержат тип (типы), прежде чем выполнять GREL.

Вы можете использовать match() функция и регулярное выражение:

value.match(/.+\/(.+)/)[0]

Или чтобы быть более точным:

value.match(/.+\(type\)\/(.+)/)[0]

Результат:

Другие вопросы по тегам