我想確定是否可以在 Google 電子表格的單元格中找到特定文本,如下例所示:
| 文本 | 期望的輸出 |
|---|---|
| 辛西婭和戴爾去商店 | 辛西婭,戴爾 |
| 辛西婭去了商店 | 辛西婭 |
不幸的是使用此代碼
IF(REGEXMATCH(A2,"Bob"),"Bob",IF(REGEXMATCH(A2,"Cynthia"),"Cynthia",IF(REGEXMATCH(A2,"Dale"),"Dale","Nobody")))
只回傳找到的第一個 REGEX 匹配,而不是我想要的多個匹配。
任何修改公式的建議都會有所幫助。
可以在此處找到包含示例和代碼的電子表格:

中的公式C2:
=INDEX(SUBSTITUTE(TRIM(REGEXREPLACE(A2:A,".*?\b(Bob|Dale|Cynthia)\b|.*","$1 "))," ",", "))
這將溢位列。
如果您需要用“Nobody”填充空單元格,也許嵌套REGEXREPLACE()會起作用:

中的公式C2:
=INDEX(IF(A2:A="","",REGEXREPLACE(SUBSTITUTE(TRIM(REGEXREPLACE(A2:A,".*?\b(Bob|Dale|Cynthia)\b|.*","$1 "))," ",", "),"^$","Nobody")))
或者沒有第二次替換:
=INDEX(IF(A2:A="","",SUBSTITUTE(TRIM(REGEXREPLACE(A2:A&" Nobody","(?:.*?\b(Bob|Dale|Cynthia)\b|^.*(Nobody)$|. )","$1 $2"))," ",", ")))
uj5u.com熱心網友回復:
此討論已被修改為包含另一個元素,并已在此處重新提出:
在 Google 表格中使用 RegEx 將字串中的所有匹配單詞替換為另一個單詞或短語
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/431155.html
上一篇:谷歌表添加重復的增量數字
