Показать определенный текст из CSV

Есть задача -

из текста на CSV взять определённую часть с помощью XPath.

Например:

<location>
Иркутская область, г. Усолье-Сибирское, Матросова улица, 2
</location>

Надо из данного текста вытащить город

"г. Усолье-Сибирское".

Пробывал написать /location[last()] - но это не то-что надо.

Не очень силен в XPath.

Спасибо.


Ответы (1 шт):

Автор решения: SergeyPopov

Чтобы вытащить город из текста используйте следующую XPath-конструкцию:

substring-before(substring-after(/location, ', '), ', ')

Конструкция substring-before() выбирает часть строки до указанной подстроки, а substring-after() - после указанной подстроки. Сначала используется substring-after() с указанием ', ' в качестве подстроки, чтобы вырезать все, что идет до города, а затем substring-before() с тем же указанием, чтобы вырезать все, что идет после города. В результате остается только город.

Например, если использовать эту конструкцию с приведенным выше текстом, то будет выведено:

г. Усолье-Сибирское

→ Ссылка