Вот способ сделать это с помощью простого регулярного выражения:
generate wanted = subinstr(people_attending, special_attendee, ">", .)
replace wanted = ustrregexs(0) if ustrregexm(wanted, ">(.*?);")
replace wanted = substr(wanted, 3, strpos(wanted, ";")-3)
list wanted
+-----------------+
| wanted |
|-----------------|
1. | football_player |
2. | music_artist |
+-----------------+
На первом шаге вы заменяете имя маркером >
. Затем вы извлекаете соответствующую подстроку с помощью регулярного выражения. На последнем этапе вы выполняете очистку.
РЕДАКТИРОВАТЬ:
Третий шаг можно пропустить, если вы слегка измените код следующим образом:
generate wanted = subinstr(people_attending, special_attendee, ">", .)
replace wanted = ustrregexs(1) if ustrregexm(wanted, ">-(.*?);")