Вы можете легко сделать это с помощью функции fn:replace
в XPath-2.0 (которая не поддерживается Google).
Чтобы добиться этого в XPath-1.0, вы должны использовать некоторые приемы. Ниже приведен только один подход, который сильно зависит от возможных значений:
concat(substring-before(normalize-space(translate(/div/p[1]/strong,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,;.:-/','')),' '),' - ',substring-after(normalize-space(translate(/div/p[1]/strong,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,;.:-/','')),' '))
Этот подход заменяет все символы a..z
и A..Z
(и некоторые знаки пунктуации) на пустой символ. Числа остаются, и они разделяются на fn:substring-before(...)
и fn:substring-after(...)
.
Это довольно сложно, и не работает в случаях, когда не все символы совпадают.
In В этом примере выводом является
21 - 234