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', '')
任何人都可以帮助我如何从 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', '')