Google sheets Google Sheets公式获取冒号之间的文本

Google sheets Google Sheets公式获取冒号之间的文本,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我正在寻找一个公式,它可以从一个单元格中获取冒号之间的文本和数字。我试过用正则表达式替换标点符号,但我需要版本号之间的句点,也试过一些正则表达式,但找不到公式,很遗憾,非常感谢您的帮助 输入 预期产量 cpe:2.3:a:caldera:openlinux_服务器:3.1:* cpe 2.3 caldera openlinux服务器3.1 cpe:2.3:a:immunix:immunix:6.2:* cpe 2 3 a immunix immunix 6.2 cpe:2.3:o:mandrak

我正在寻找一个公式,它可以从一个单元格中获取冒号之间的文本和数字。我试过用正则表达式替换标点符号,但我需要版本号之间的句点,也试过一些正则表达式,但找不到公式,很遗憾,非常感谢您的帮助

输入 预期产量 cpe:2.3:a:caldera:openlinux_服务器:3.1:* cpe 2.3 caldera openlinux服务器3.1 cpe:2.3:a:immunix:immunix:6.2:* cpe 2 3 a immunix immunix 6.2 cpe:2.3:o:mandrakesoft:mandrake_linux:7.1:* cpe 2.3 o mandrakesoft mandrake linux 7.1 尝试:


我想提出一个更简单的替代方案,让您能够理解正在发生的一切

解决方案:
=数组公式(TRIM(TRIM)(TRIM(RIGHT)(替换为REGEXREPLACE(A1:A3,“,”),“,”,“@”,4),LEN(替换为REGEXREPLACE(A1:A3,“,”:“,”,“,”,“,”,“,”,“@”,4))-查找(“@”,替换为REGEXREPLACE(A1:A3,“,”:“,“,”,“,”,“,”,“,”),“,”,“,”,“,”)),“,”,“,”,”,“,”,”,“,”,”)),“,”,”,“,”,”,”,”,“,”,“,”,”,”,”,”,“,”,”,”))

一步一步地。 您可以尝试将每个步骤的结果保存在B列的单元格中,以查看解决方案是如何构造的

  • 将所有不需要的字符替换为空格:
    =REGEXREPLACE(A1,“:”\*“,”)
  • 将第四个空格替换为特殊字符(在本例中为@):
    =替换(B1,“,@”,4)
  • 通过获取特殊字符后的所有字符来获得所需的子字符串。组合并可实现此目的:
    =RIGHT(B2,LEN(B2)-FIND(“@”,B2))
  • 使用以下命令删除尾随空格:
    =修剪(B3)
  • 应用以修改第一步中的范围而不是特定单元格
  • 将所有步骤放在一个函数中

  • 非常感谢,这正是我想要的。作为后续,是否可以从第四个冒号开始解析?因此,在第一个示例中,我希望在caldera之后进行输出。@Anaheim yes:“感谢反馈!记录声誉低于15的人的投票,但不要更改公开显示的帖子分数。”。“我确实认为这很有帮助:)
    =ARRAYFORMULA(TRIM(REGEXREPLACE(A2:A, "_|:|\*", " ")))
    
    =ARRAYFORMULA(IFNA(REGEXEXTRACT(TRIM(REGEXREPLACE(A2:A, 
     "_|:|\*", " ")), ".+\d+.\d+ . (.+)")))