如何从 Google 工作表中的文本中提取具有多个小数点的数字?

How to extract numbers with multiple decimal points from text in Google Sheets?

我正在尝试从单元格中的文本字符串中提取软件版本(纯数字和小数),但由于它有多个小数位,我无法获得完整结果。

示例(输入 --> 输出):

Plugin Version v4.5.2 Available --> 4.5.2
New Plugin v1.15.49 Available --> 1.15.49

到目前为止,我正在使用这个公式,但它只给出第一个小数结果,它不能处理 2 个小数,因为这些是软件版本号,而不是实数。

=REGEXEXTRACT(A1,"-*\d*\.?\d+")

试一试:

=REGEXEXTRACT(A1;"(-*\d*[\.?\d+]+)")

说明: 原文:

-*\d*\.?\d+

匹配项:

  • -*0n - 个字符后跟:
  • \d*0n个十进制字符(0-9),后接:
  • \.?01.个字符(必须转义,否则表示“任意字符”),后面是:
  • \d+: 1n 个十进制字符。

我们现在:

  • \.?\d+ 包装成“选择”([...])
  • 并将 1 匹配到 n(+) 它的出现:[\.?\d+]+
  • 另外(非强制性)将所有内容都包含在“捕获组”中((...))...我们还可以:提取其中的一部分。

你也可以试试

=regexextract(A1; "[0-9.]+")

如果你只想要v之后的数字,

=REGEXEXTRACT(A1,"v([\d\.]+)")
  • \d任意数字
  • \. 文字 .
  • []+ 匹配 []
  • 中的一个或多个任意字符