如何在Google Sheets中用REGEXEXTRACT提取第N次指定词后的文本?
Google Sheets正则提取第N个Activity内容
针对你在Test!A1单元格的字符串结构,以下是提取第二个、第三个Activity内容的具体公式及逻辑:
提取第二个Activity(Musical Chairs)
直接用REGEXEXTRACT跳过前一组Activity+Handout内容,捕获目标部分:
=REGEXEXTRACT(Test!A1, "Activity:.+\nHandout:.+\nActivity:(.+)")
正则逻辑说明:
Activity:.+\n:匹配第一行完整的Activity内容(包括冒号、空格和内容),并匹配换行符Handout:.+\n:匹配第一行Handout的完整内容和换行符Activity:(.+):匹配第二个Activity的前缀,捕获冒号后的所有内容(即Musical Chairs)
提取第三个Activity(Four Corners)
同理,跳过前两组Activity+Handout内容即可:
=REGEXEXTRACT(Test!A1, "Activity:.+\nHandout:.+\nActivity:.+\nHandout:.+\nActivity:(.+)")
正则逻辑说明:
- 重复两次
Activity:.+\nHandout:.+\n,跳过前两组完整的Activity和Handout行 - 最后用
Activity:(.+)捕获第三个Activity的内容
另外,你之前公式里的REGEXREPLACE("\d* - ","")在当前场景下是多余的,因为目标内容里没有数字-这类模式,直接用REGEXEXTRACT就能得到干净的结果。
内容的提问来源于stack exchange,提问作者Hannah Freedman
相关产品推荐
相关产品推荐

