问题是如何找到搜索包含撇号的字符串的正确方法。该字符串是导入网址中title
标记的a
。
所以出发点是:
=IMPORTXML("http://www.some.com";"//a[contains(@title,'Mac's Issue')]")
由于里面的原始撇号,这当然不起作用。如何以正确的方式逃避这个角色?我尝试过使用""
和\
,但没有成功。
编辑:包含此类问题的示例表https://docs.google.com/spreadsheets/d/1aGaAOpUeF8jZlL6La6zDw9nlcidOqA1apBt18mPUH7w/edit?usp=sharing
答案 0 :(得分:2)
修改强>
XPath有一个concat函数,这应该会有所帮助:
//code[contains(.,concat('"',"Mac","'","s Issue"))]
公式为:
=IMPORTXML("http://www.some.com";
"//code[contains(.,concat('""',""Mac"",""'"",""s Issue""))]")
参考:
您可以尝试使用双引号而不是单引号:
=IMPORTXML("http://www.some.com";"//code[contains(.,""Mac's Issue"")]")
现在字符串是双引号:“Mac的问题”。
注意:每个双引号都使用两次,因为函数的参数是一个字符串,它本身存储在双引号中。
答案 1 :(得分:0)
虽然我不确定这对您的情况是否有用,但这个解决方法怎么样?此示例使用示例电子表格的=IMPORTXML("https://stackoverflow.com/questions/48863529/xpath-inside-importxml-with-apostrophe-in-query";"//code[contains(.,'Mac's Issue')]")
。