根据我想要从谷歌表格中获取的单词列表,从单元格中的句子中提取一些单词,用逗号分隔

问题描述 投票:0回答:2

我有一个充满句子的文档,以及我想从句子中提取的单词列表。剩下的几个字,我想删掉。 我怎样才能做到这一点?也欢迎应用脚本建议。

我想要的话 句子 想要的结果
苹果 熊吃了树上的一个苹果。 熊,苹果,向上
我喜欢土豆
向上 你讨厌苹果派吗? 苹果
我去了苹果树上 向上,树

样品

这是示例文档的链接。

提前谢谢您!

我可以去掉标点符号,把句子改成逗号分隔的句子。 (例如句子:“the bear ate an apple up the tree.”-->“the,bear,ate,an,apple,up,the,tree”)但是我无法删除我没有列出的单词出来了。

我尝试过 regexextract,但它只提取第一个匹配项。如果一个单元格中有多个匹配项,则它将不起作用。 我无法进行替换,因为我不知道我不想要哪些单词,因为句子非常不同。我只想选几句话。我还需要它区分大小写。例如。如果这个词有大写字母,我不想要它。如果句子中没有一个单词符合我想要的,我只需要一个空白,或者一个写着“all good”的注释。

我才到这一步 = textjoin(",",true,split(REGEXREPLACE( C9,"[!@#$%^&*().,。]","")," "))

google-sheets google-apps-script google-sheets-formula
2个回答
0
投票

根据 Google 表格中的列表从句子中提取单词

此公式检查“我想要的单词”列中的单词是否出现在“字符串/句子”列中,如果出现,则会将这些匹配的单词作为逗号分隔列表粘贴到“所需输出”列中。如果您想添加更多单词,请调整

range (A$2:A$4)

请尝试将此代码粘贴到“所需输出”列上,以检查它是否在您的端正常工作:

=TEXTJOIN(",", TRUE, FILTER(SPLIT(A$2:A$4, ", "), ARRAYFORMULA(LEN(REGEXEXTRACT(LOWER(B2), "\b" & LOWER(TRIM(SPLIT(A$2:A$4, ", "))) & "\b")) > 0)))

参考文献

分割功能

REGEXEXTRACT 函数

过滤功能

LEN 函数

修剪功能

下功能

ARRAYFORMULA 函数

TEXTJOIN 函数


0
投票

根据关键词过滤并连接句子中的特定单词。

这个公式将获取您输入

$A$1:A$6
中的单词,然后将其转换为小写并删除标点符号以进行比较,然后将其拆分为字符串,然后匹配“C3”中的单词,然后我使用
TextJoin
以便它加入过滤和匹配的单词来得出您想要的结果。

公式示例:

=TEXTJOIN(",", TRUE, FILTER(SPLIT(REGEXREPLACE(LOWER(C3), "[^\w\s]", ""), " "), ISNUMBER(MATCH(SPLIT(REGEXREPLACE(LOWER(C3), "[^\w\s]", ""), " "), LOWER($A$3:$A$6), 0))))

样本输出

Output

注意:根据您的需要调整范围

参考资料:

文字加入

匹配功能

过滤功能

© www.soinside.com 2019 - 2024. All rights reserved.