标签 字符串处理 下的文章

如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;
如果需要在某一文本字符串中替换特定位置处的任意文本,请使用函数 REPLACE。

SUBSTITUTE

SUBSTITUTE(text, old_text, new_text, [instance_num])
描述:在文本字符串中用 new_text 替换 old_text。

SUBSTITUTE 函数语法具有下列参数:

  • text 必需。需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。
  • old_text 必需。需要替换的文本。
  • new_text 必需。用于替换 old_text 的文本。
  • Instance_num 可选。指定要将第几个 old_text 替换为 new_text。 如果指定了 instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。

例子1:
SUBSTITUTE("我们班一共有*个同学,男同学*人,女同学*人", "*", A2)
用单元格A2的内容替换字符串中的*号,通常可以用来补充固定模板中的数据。
我们班一共有30个同学,男同学30人,女同学30人
(因为没有指定替换哪一个*号,所以全部*号都被替换)

例子2
SUBSTITUTE("我们班一共有*个同学,男同学*人,女同学*人", "*", A3,2)
替换字符串中的第2个*号
我们班一共有*个同学,男同学16人,女同学*人

REPLACE和REPLACEB

根据指定位置的字符数,将部分字符串替换为不同的字符串。
REPLACE(old_text, start_num, num_chars, new_text)
REPLACEB(old_text, start_num, num_bytes, new_text)

  • 注意:这两个函数基本一致,只是在处理非英文字符的时候计算字符串的数量上不一致,国内可以一直使用replace。出错的情况下才需要考虑使用replaceb。

REPLACE 和 REPLACEB 函数语法具有下列参数:

  • old_text 必需。 要替换其部分字符的文本。
  • start_num 必需。 old_text 中要替换为 new_text 的字符位置。
  • num_chars 必需。 old_text 中希望 REPLACE 使用 new_text 来进行替换的字符数。
  • Num_bytes 必需。 old_text 中希望 REPLACEB 使用 new_text 来进行替换的字节数。
  • new_text 必需。 将替换 old_text 中字符的文本。

例子:
REPLACE("abcdefg",2,3, "+") ,将从第2个字符开始,连续3个字符bcd整体串替换为+。 a+efg