Skip to content

文本替换

函数名:wb_文本替换 / str_Replace

功能描述

替换文本中的指定内容。支持用 | 分隔多个查找分隔符同时替换,支持转义字符(\n\r\t\| 等),可控制是否区分大小写。

会员等级:🟢 免费版(Free)

语法

excel
=str_Replace(原文本, 查找内容, 替换内容, 区分大小写)

参数

参数名类型必填默认值说明
原文本String原始文本
查找内容String| 分隔多个分隔符,支持 \n(换行)、\r\n(回车换行)、\t(制表符)、|(竖线)等转义字符
替换内容String替换为的文本
区分大小写BooleanFALSETRUE=区分大小写,FALSE=不区分

返回值

String - 替换后的文本。

使用示例

单个分隔符替换

公式

excel
=str_Replace("Hello World", "World", "Excel")

结果

Hello Excel

多个分隔符同时替换

公式

excel
=str_Replace("A-B+C=D", "-|+|=", ",")

结果(将 -+= 全部替换为 ,):

A,B,C,D

替换换行符

公式

excel
=str_Replace("第一行\n第二行", "\n", " ")

结果(将换行符替换为空格):

第一行 第二行

区分大小写替换

公式

excel
=str_Replace("Excel excel EXCEL", "excel", "X", TRUE)

结果(仅替换小写的 excel):

Excel X EXCEL

技术说明

  • 多分隔符解析:查找内容参数使用 | 作为分隔符分隔多个待替换字符串,支持反斜杠 \ 转义机制:
    • \n → 换行符,\r\n → 回车换行,\t → 制表符,\| → 竖线字符
    • 其他 \x 形式的转义字符保留 x 字符本身
  • 手写匹配算法:不依赖正则表达式,采用手写字符串逐字符比对方式执行替换,逐个分隔符遍历原文本进行匹配与替换,性能稳定
  • 大小写处理:区分大小写模式使用字符直接比较;不区分大小写模式使用 char.ToLowerInvariant 统一转为小写后比较
  • 若原文本或查找内容为空,直接返回原文本

错误处理

错误场景返回值
原文本为空或 null原文本原样返回
查找内容为空或 null原文本原样返回
解析后无有效分隔符原文本原样返回
处理过程中发生异常"错误: {异常信息}"

基于源代码最新版本文档