从xpath节点获取字符串的特定部分而不使用破折号

时间:2016-12-17 13:18:28

标签: python xpath

我用这个

('//*[@class="book_details"]/text()[3]')

抓住“ISBN 978-960-435-514-3,[这里有些文字]”
但我只想要没有破折号的ISBN号“ - ”(“9789604355143”)

<span class="book_details">
  2016
 <br>688 pages
 <br>ISBN 978-960-435-514-3, [some text here]
 <br>price
 <nobr> € 20,00</nobr>
</span>

1 个答案:

答案 0 :(得分:1)

您可以使用translate(//*[@class="book_details"]/text()[3], translate(//*[@class="book_details"]/text()[3], '0123456789', ''), '')。内部translate(//*[@class="book_details"]/text()[3], '0123456789', '')查找目标节点中的所有非数字,外部translate将其删除。