Google sheets 在Google工作表中使用REGEXEXTRACT提取字符串中的所有匹配项
我有一个单元格,其值如下:Google sheets 在Google工作表中使用REGEXEXTRACT提取字符串中的所有匹配项,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我有一个单元格,其值如下:aasdf123asdf34asdf3 我想提取所有连续数字组:123、34和3 我想这就是我需要的正则表达式:(\d+) 但它只是提取第一个匹配项 这在谷歌表单之外是有效的。不知道为什么我不能让它在谷歌工作表上工作 您可以尝试直接使用以下命令实际生成所需的CSV字符串: 对REGEXREPLACE的内部调用将所有非数字字符簇替换为逗号。然后,外部调用删除了第一次替换可能留下的任何前导/尾随逗号 此外,您还可以使用将值分隔到每个单独的单元格中: =TRANSPOSE
aasdf123asdf34asdf3
我想提取所有连续数字组:123
、34
和3
我想这就是我需要的正则表达式:(\d+)
但它只是提取第一个匹配项
这在谷歌表单之外是有效的。不知道为什么我不能让它在谷歌工作表上工作
您可以尝试直接使用以下命令实际生成所需的CSV字符串: 对
REGEXREPLACE
的内部调用将所有非数字字符簇替换为逗号。然后,外部调用删除了第一次替换可能留下的任何前导/尾随逗号
此外,您还可以使用将值分隔到每个单独的单元格中:
=TRANSPOSE( SPLIT(REGEXREPLACE(REGEXREPLACE("aasdf123asdf34asdf3", "\D+", ","), "^,|,$", ""), ","))
在这里,函数只是垂直堆叠匹配项,而不是水平堆叠,因为
SPLIT
会将它们作为默认值进行放置。您尝试过提供的解决方案吗?对你有用吗?如果不是,我们应该试着找出原因。如果是的话,请记住,当一个答案回答了你的问题时,它甚至是它,这样其他人也能从中受益。
=TRANSPOSE( SPLIT(REGEXREPLACE(REGEXREPLACE("aasdf123asdf34asdf3", "\D+", ","), "^,|,$", ""), ","))