Xpath-如何从文本中提取特定的单词()?

Xpath-How to extract a particular word from the text()?

任何人都可以帮助我如何从 Xpath 表达式的 text() 中提取特定单词

我目前正在从网站上删除硬币名称:https://coinmarketcap.com/currencies/bitcoin/

使用过Xpath表达式: (//h1[@class='priceHeading']/text())[1]

其中有 'Bitcoin Price' 我只需要第一个词 'Bitcoin' 忽略其余部分。

不要介意我的错误,我是这里的新手:)

好吧,这在某种程度上取决于您可以依赖什么,以及您使用的是哪个版本的 XPath。 space 是否足够,或者您是否需要更复杂的标记化很大程度上取决于数据和您的要求。

对于 XPath 1.0 及更高版本,您可以使用 substring-before() a space

substring-before((//h1[@class='priceHeading']/text())[1], ' ')

对于 XPath 2.0 及更高版本,您可以使用 tokenize() 和 select 第一项

tokenize((//h1[@class='priceHeading']/text())[1], ' ')[1]

如果您知道它将始终以“ Price”结尾,那么您可以使用该值而不是 substring-before()tokenize() 中的 space,或者可以 replace() " Price" 和 "''":

replace((//h1[@class='priceHeading']/text())[1], ' Price', '')