提取字符串中最后一个单词的XPath语法

提取字符串中最后一个单词的XPath语法,xpath,Xpath,我试图使用XPath从html文档中提取一些单词。 Syntax'//div[@class=“adsmanager\u ads\u price”]/text()[3]为我提供了字符串名称:Tim。如何修改语法以仅接收Tim?但是我需要在Name:之后加上单词,因为Name可以是多个单词。您可以使用substring-after()来实现: substring-after(//div[@class="adsmanager_ads_price"]/text()[3], ':') 将在之后获取所有信

我试图使用XPath从html文档中提取一些单词。
Syntax
'//div[@class=“adsmanager\u ads\u price”]/text()[3]
为我提供了字符串
名称:Tim
。如何修改语法以仅接收
Tim
?但是我需要在
Name:
之后加上单词,因为Name可以是多个单词。

您可以使用
substring-after()
来实现:

substring-after(//div[@class="adsmanager_ads_price"]/text()[3], ':')
将在
之后获取所有信息:

substring-after(//div[@class="adsmanager_ads_price"]/text()[3], 'Name:')
将在
Name:

注意:
substring-after()
只能在XPath 2.0中使用。如果您使用XPath 1.0,您应该在代码中使用子字符串…

我对您的问题标题和问题文本感到困惑:您想提取最后一个单词(即最后一个空格或类似空格后的部分)还是最后一个单词(如问题中所述,最后一个冒号后的部分)实际上,我需要在`Name:`
normalize-space()
后面加上单词,以便“修剪”空格。我似乎不能使用substring-after()或者我不知道如何实现它,因为我的代码是软件的一部分,其中整行代码如下所示:Name=data.xpath('//div[@class=“adsmanager\u ads\u price”]/text()[3]')。extract()你有什么错误?我认为它应该实现为:
name=data.xpath(/div[@class=“adsmanager\u ads\u price”]/text()[3],“name:”)。extract()
。还要注意,
substring-after()
仅在XPath 2.0中可用。如果您使用的是XPath 1.0,您不能这样做,您应该用脚本/编程语言处理子字符串……不幸的是,它是XPath 1.0,错误为“无效XPath”@Goran,那么您应该在代码中而不是XPath中这样做