Regex Google Sheets正则表达式结果不等于文本

Regex Google Sheets正则表达式结果不等于文本,regex,google-sheets,comparison,Regex,Google Sheets,Comparison,我有一个电子表格,我正在使用IMPORTHTML导入价格 导入结果包含带文本的价格。 我使用REGEXEXTRACT仅获取价格。 问题是提取值不等于其他单元格中的相同值 对于exmaple: 导入结果为: 58美元,免费送货。细节 在单元格A1中-使用正则表达式“[0-9][0-9].[0-9][0-9]”的REGEXEXTRACT,结果为58.00 在单元格A2中-我键入了58.00 如果(A1=A2…)尝试比较这两个参数将失败 知道为什么以及如何修复它吗 谢谢公式 试一试 解释 REGEXE

我有一个电子表格,我正在使用
IMPORTHTML
导入价格

导入结果包含带文本的价格。 我使用
REGEXEXTRACT
仅获取价格。 问题是提取值不等于其他单元格中的相同值

对于exmaple: 导入结果为:

58美元,免费送货。细节

在单元格A1中-使用正则表达式“[0-9][0-9].[0-9][0-9]”的
REGEXEXTRACT
,结果为58.00

在单元格A2中-我键入了58.00

如果(A1=A2…)尝试比较这两个参数将失败

知道为什么以及如何修复它吗

谢谢

公式 试一试

解释 REGEXEXTRACT总是返回一个文本值。如果键入58.00,很可能它被标识为一个数字。

Formula 试一试

解释
REGEXEXTRACT始终返回一个文本值。如果键入58.00,很可能它被标识为一个数字。

您可以使用以下regex提取:

REGEXEXTRACT(<CELL>, "^\W*([\d.]+)")
REGEXEXTRACT(,“^\W*([\d.]+)”)

“^\W*([\d.]+)”
表示:

  • ^
    -字符串的开头
  • \W*
    -零个或多个非单词字符(非字母、数字、下划线)
  • ([\d.]+)
    -第1组:一个或多个数字或点

根据Ruben的详细信息,您需要将使用
REGEXEXTRACT
提取的字符串值转换为使用
=value

提取的文本的实际值。您可以使用以下正则表达式提取:

REGEXEXTRACT(<CELL>, "^\W*([\d.]+)")
REGEXEXTRACT(,“^\W*([\d.]+)”)

“^\W*([\d.]+)”
表示:

  • ^
    -字符串的开头
  • \W*
    -零个或多个非单词字符(非字母、数字、下划线)
  • ([\d.]+)
    -第1组:一个或多个数字或点

根据Rubén的详细信息,您需要将使用
REGEXEXTRACT
提取的字符串值转换为使用
=value

提取的文本的实际值

=VALUE(REGEXTRACT(<CELL1>,"^\W*([\d.]+)")

答案是:

=VALUE(REGEXTRACT(<CELL1>,"^\W*([\d.]+)")

将您自己的
REGEXEXTRACT
用另一个括起来:
=REGEXEXTRACT(REGEXEXTRACT(…),“^\W*([\d.]+)”)
@WiktorStribiżew这是一个问题的解决方案,还是只是对我的正则表达式语法的改进?试试看,如果有效,我会给出解释。这不是任何改进,它是另一个提取函数,旨在从正则表达式提取的值中获取第一个浮点/整数。实际上,我不知道你的方法是什么像这样的书-你能分享这张表吗?或者仅仅是一些类似于调试的东西吗?@WiktorStribiżew谢谢,我在下面的答案中使用了你的正则表达式,你使用了
=VALUE(REGEXTRACT(,“[0-9][0-9].[0-9][0-9]”,“^\W*([\d.]+)”=
)用另一个正则表达式括住你自己的
REGEXEXTRACT
=REGEXEXTRACT(REGEXTRACT(…),“^\W*([\d.]+)”)
@WiktorStribiżew这是一个问题的解决方案,还是只是对我的正则表达式语法的改进?试试看,如果有效,我会给出解释。这不是任何改进,它是另一个提取函数,旨在从正则表达式提取的值中获取第一个浮点/整数。实际上,我不知道你的方法是什么像这样的书-你能分享这张表吗?或者是类似于debug的东西吗?@WiktorStribiżew谢谢,我在下面的答案中使用了你的正则表达式,你使用了
=VALUE(REGEXTRACT(REGEXTRACT)(REGEXEXTRACT(,“[0-9][0-9][0-9]”,“^\W*([\d.]+)”)谢谢?你的答案加上@ WikTrrBiBi的回答给了我最好的解决办法,记住要给那些有用的帖子投赞成票。还要考虑发布一个答案来和其他人分享最好的解决方案。他不能投票,所以我为他做了这件事,因为它真的很有帮助。谢谢!你的答案加上@ WikTrrBiBi的回答给了我最好的答案。解决办法记得要给那些有用的帖子投赞成票。也要考虑发布一个答案来和其他人分享最好的解决方案。他不能投票,所以我为他做了这件事,因为它真的很有帮助。