查询不过滤由 | 分隔的两个值在 NOT CONTAINS 字符串中
Query does not filter from two values separated by | in NOT CONTAINS string
我正在使用公式:
=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/","//div[@class='content']//div[contains(@class,'row-gray')]")),"Where not Col1 contains 'Postp|Canc' "))
但是由于某些原因 'Postp|Canc'
没有删除包含这些值的行,我做错了什么?
|
是正则表达式,仅在查询中 matches
是正则表达式属性。使用:
=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/",
"//div[@class='content']//div[contains(@class,'row-gray')]")),
"where not Col1 matches '.*Postp.*|.*Canc.*'"))
或:
=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/",
"//div[@class='content']//div[contains(@class,'row-gray')]")),
"where not Col1 contains 'Postp'
or not Col1 contains 'Canc'"))
在这个回答中,我想建议修改xpath。修改后的xpath如下
修改后的 xpath:
//div[@class='content']//div[div[@class='min'][not(contains(text(),'Postp') or contains(text(),'Canc'))]]
修改后的公式:
=IMPORTXML("https://www.livescores.com/","//div[@class='content']//div[div[@class='min'][not(contains(text(),'Postp') or contains(text(),'Canc'))]]")
结果:
参考:
我正在使用公式:
=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/","//div[@class='content']//div[contains(@class,'row-gray')]")),"Where not Col1 contains 'Postp|Canc' "))
但是由于某些原因 'Postp|Canc'
没有删除包含这些值的行,我做错了什么?
|
是正则表达式,仅在查询中 matches
是正则表达式属性。使用:
=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/",
"//div[@class='content']//div[contains(@class,'row-gray')]")),
"where not Col1 matches '.*Postp.*|.*Canc.*'"))
或:
=ARRAYFORMULA(QUERY(TRIM(IMPORTXML("https://www.livescores.com/",
"//div[@class='content']//div[contains(@class,'row-gray')]")),
"where not Col1 contains 'Postp'
or not Col1 contains 'Canc'"))
在这个回答中,我想建议修改xpath。修改后的xpath如下
修改后的 xpath:
//div[@class='content']//div[div[@class='min'][not(contains(text(),'Postp') or contains(text(),'Canc'))]]
修改后的公式:
=IMPORTXML("https://www.livescores.com/","//div[@class='content']//div[div[@class='min'][not(contains(text(),'Postp') or contains(text(),'Canc'))]]")