我会使用Google表格,并且我在过去几个小时内与REGEXREPLACE
功能作斗争,一般情况下我都有:
string1: "blah blah blah @abc blah @bcd blah blah"
我想要这个:
string2: "@abc @bcd"
我尝试使用REGEXEXTRACT(string1,"@[^\s]+")
提取它,但此功能无法全局工作,因此我使用REGEXREPLACE
替换除@abc
和@bcd
以外的所有内容""
,但要做到这一点,我需要否定@[^\s]+
!
怎么做?
答案 0 :(得分:4)
答案 1 :(得分:1)
(编辑)我建议其他答案在Sheets中不起作用,但我没有仔细查看@ shA.t的答案,事实上工作得很好。这将是表格实施:
=REGEXREPLACE(L1,"(?:.*?(@\S*))|(.*)","$1")
我原来的回答:
不幸的是,我认为其他答案不会在Google表格的背景下发挥作用,而Google表格不支持"预见"在电子表格函数正则表达式。
看看是否有效:
=ArrayFormula(TRIM(JOIN(" ",IFERROR(REGEXEXTRACT(SPLIT(L1," "),"^@.+")))))
答案 2 :(得分:0)