Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 查询中带撇号的IMPORTXML中的XPATH_Google Sheets - Fatal编程技术网

Google sheets 查询中带撇号的IMPORTXML中的XPATH

Google sheets 查询中带撇号的IMPORTXML中的XPATH,google-sheets,Google Sheets,问题是如何找到正确的方法来搜索包含撇号的字符串。该字符串是来自导入URL的a标记的title 因此,出发点是: =IMPORTXML(“http://www.some.com“;”//a[包含(@title,'Mac's Issue')]” 这当然不起作用,因为里面有一个原始的撇号。如何以正确的方式逃离这个角色?我试过使用”和\,但没有成功 编辑:有此类问题的样本表虽然我不确定这是否对您的情况有用,但这种解决方法如何?此示例使用=IMPORTXML(“https://stackoverflow.

问题是如何找到正确的方法来搜索包含撇号的字符串。该字符串是来自导入URL的
a
标记的
title

因此,出发点是:
=IMPORTXML(“http://www.some.com“;”//a[包含(@title,'Mac's Issue')]”
这当然不起作用,因为里面有一个原始的撇号。如何以正确的方式逃离这个角色?我试过使用
\
,但没有成功


编辑:有此类问题的样本表

虽然我不确定这是否对您的情况有用,但这种解决方法如何?此示例使用
=IMPORTXML(“https://stackoverflow.com/questions/48863529/xpath-inside-importxml-with-apostrophe-in-query“;”//code[包含(,'Mac's Issue')]”
您的示例电子表格

  • //code[包含(text(),“Mac的问题”)]
    放到“A1”中。
    • //代码[包含(,'Mac's Issue')]
      发生错误
  • Put
    =IMPORTXML(“https://stackoverflow.com/questions/48863529/xpath-inside-importxml-with-apostrophe-in-query,A1)
    至“A2”
  • 结果:

    如果我误解了你的问题,我很抱歉。

    编辑

    XPath有一个concat函数,这应该有帮助:

    //代码[包含(,concat(“,”Mac“,”Mac“,”s Issue”)]

    公式是:

    =IMPORTXML(“http://www.some.com";
    //代码[包含(

    参考:


    您可以尝试使用双引号而不是单引号:

    =IMPORTXML(“http://www.some.com“;”//code[包含(,“Mac的问题”)]”

    这个字符串现在是双引号:“Mac的问题”


    注意:每个双引号使用两次,因为函数的参数是一个字符串,并且它本身存储在双引号中。

    不幸的是,不是。似乎引擎替换了
    CHAR(39)
    使用实际的撇号,然后返回原始版本。
    ';
    也不起作用,因为它在查询之前被转换为撇号。这只是由于
    的缘故,因为从查询中剪切带有该字符的字符串部分会被正确执行。但不幸的是,这不是解决方案:)the返回的错误是
    错误:无法解析导入的XML内容。
    示例工作表:对于这种特殊情况很有用,但并不能真正解决问题:)实际上只是将
    //代码[包含(,“Mac的问题”)]
    替换为
    //代码[包含(,“Mac的问题”)]
    完成这项工作。但是!当查询(我们搜索的值)包括
    时,问题会返回。谢谢你,Max!但如下所述:它对这种特殊情况很有用,但并不能真正解决问题:)实际上只是将
    //code[contains(,'Mac's Issue')]
    替换为
    //code[contains(,,'Mac's Issue')]
    来完成这项工作。但是当查询(我们搜索的值)包括
    @friedman时,问题返回,没错,我找到了另一个解决方案,请查看编辑。这是赢家!谢谢!很好的解决方案!我也想使用这个。