2014-02-08 69 views
0

我試圖從使用XPath的html文檔中提取一些單詞。 語法'//div[@class="adsmanager_ads_price"]/text()[3]'給我字符串Name: Tim。我如何修改語法只接收Tim?但我需要Name:之後的單詞,因爲名字可以多於一個單詞。用於提取字符串中最後一個單詞的XPath語法

+0

我對你的問題標題和你的問題文本感到困惑:你想提取*最後一個單詞*(即最後一個空格之後的部分或類似的)或*最後的單詞*(如你的問題,最後一個冒號後的部分所述)? –

+0

HTML在哪裏? –

+0

其實我需要'Name'後的單詞' – Goran

回答

2

您可以使用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,你應該在代碼中執行子字符串...

+0

'normalize-space()'可以用來'修剪'空格 –

+0

看來我不能使用substring-after()或者我不知道如何實現它因爲我的代碼是軟件的一部分,整行代碼如下所示:name = data.xpath('// div [@ class =「adsmanager_ads_price」]/text()[3]')。extract() – Goran

+0

你會得到什麼錯誤?我相信它應該實現爲:'name = data.xpath('substring-after(// div [@ class =「adsmanager_ads_price」]/text()[3],「Name:」)')。extract( )'。還要注意'substring-after()'只在XPath 2.0中可用。如果你使用的是XPath 1.0,你不能這樣做,你應該使用你的腳本/編程語言來處理子字符串... –

相關問題