gpt4 book ai didi

regex - 是否存在多重 REGEXEXTRACT 之类的东西?

转载 作者:行者123 更新时间:2023-12-02 15:45:54 25 4
gpt4 key购买 nike

我正在使用一个非常广泛的公式从一个以小写字母开头并包含许多特殊字符和其他标志和符号的字符串中删除所有单词。目标是最终只包含以大写字母开头的单词(如果两个单词以大写字母开头,则它们被计为一个单词)。例如

这是输入

Obama Mama told: Reporters in 19. Washington-Post in That he and Netanyahu-lllare opposed to Iran's calls for "Death To America".

这是预期的输出

Obama Mama, Reporters, Washington-Post, That, Netanyahu-lll, Irans, Death ToAmerica

这是公式

=Regexreplace(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(INDEX(TEXTJOIN(" "; 1; LAMBDA(x;IF(REGEXMATCH(x&"";"(^[0-9a-zäüö])");"_";x))(SPLIT(G7;" "&CHAR(10)))));"(.*)\/|\|.*|\(.*\) |\.|»| - .*$| – |!|\?|\+|\„|\“|%| \& | \& |'|»|«|""";"");"(:| --)";" _");"(^[_\s]+|[\s_]+$)";"");"\s_+";",");"([,]+|,\s)";",")

这也很有效。我只是想知道有没有更简单的方法,只提取所有大写字母的单词。

有多重 REGEXEXTRACT 这样的东西吗?这个只是提取第一个词:

=regexextract(G7;"\b[A-Z].*?\b")

最佳答案

完全匹配您的输出,我可以将其简化为三个正则表达式。试试这个:

=regexreplace(regexreplace(regexreplace(G7,"[^A-Za-z\'\-\ ""]",""),"\ [a-z\ ]+\ ",", "),"[\'""]","")

如果您需要在单独的单元格中输出,请在正则表达式周围使用 SPLIT()。

enter image description here

关于regex - 是否存在多重 REGEXEXTRACT 之类的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74243399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com