我有一个xpath表达式,我想用它从包含这种字符串的td中提取City和date:
City(may contain spaces and may be missing, but the following space is always present) on 2013/07/20
到目前为止,我已经采用以下解决方案来提取日期,这部分有效:
//path/to/my/td/text()/replace(.,'(.*) on (.*)','$3')
当City出现时,这是有效的,但当City缺失时,我得到“在2013/07/20”。 我认为这是因为第一个捕获组失败,因此组的数量不同。 我怎样才能使这个表达起作用?
答案 0 :(得分:0)
我没有完全检查你的正则表达式,但它看起来很好看。无论如何,如果您只想通过在“开启”之后提取文本来获取日期,您也可以采用更简单的方式:
//path/to/my/td/text()/substring-after(.,'on ')
编辑:或者您可以使用子字符串方式并选择内容的最后10个字符:
//path/to/my/td/text()/substring(., string-length(.) - 9)