REGEXREPLACE 字符的最后一次出现

标签 regex google-sheets google-sheets-formula

我想替换 Google 表格上字符串中最后一次出现的 @

现在我正在使用:

=trim(regexreplace(D6, "@", "From "))

但这取代了 D6 中的所有@

如果我有以下语句@greg was here @sue
我希望将 @greg was here From sue 作为输出。

最佳答案

您可以使用

=trim(regexreplace(C4, "(.*)@", "$1From "))

或者,如果有换行符:

=trim(regexreplace(C4, "(?s)(.*)@", "$1From "))

详细信息

  • (?s) - 跨换行符进行点匹配
  • (.*) - 第 1 组:任意字符,0 次或多次重复
  • @ - @ 字符。

替换模式中的 $1 将放回最后一个 @ 字符之前的字符串部分。

关于REGEXREPLACE 字符的最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55345330/

相关文章:

google-sheets - 如何在 google 表格查询中转义双引号和单引号?

xpath - Google 表格 - 在特定页面上导入 XML 时遇到问题

java - 正则表达式会产生难以置信的重负载

regex - .htaccess - 强制 url 从 'dir/page.html' → 'dir/page'

java - 从字符串中提取单词的正则表达式

sql - 大查询 : Union two different tables which are based on federated Google Spreadsheet

google-apps-script - 如何删除数据验证?

google-sheets - 上个月在 Google 表格中显示月份名称

javascript - 如何处理无效的正则表达式转义?

google-apps-script - Google Apps 脚本在电子表格上迭代非常慢