主要内容

strrep.

查找并替换子串

描述

例子

newstr = strrep(str.老的新的替换所有发生的老的str.新的

如果任何输入参数是非划分的字符串数组或字符向量的单元数组,那么其他输入参数必须具有兼容大小。

例子

全部收缩

创建字符向量并替换其中的子字符串。

Chr =.'快速棕色狐狸'
chr ='快速棕色狐狸'
newchr = strrep(chr,'快的''狡猾'
newchr ='狡猾的棕色狐狸'

创建字符串数组。从R2017A开始,您可以使用双引号创建字符串。

str = [“快速棕色狐狸”;“和懒狗”]
str =2x1字符串“快速的棕色狐狸”和懒狗“

替换阵列的每个元素中的子字符串。

empstr = strrep(str,'这''一种'
newstr =2x1字符串“一个快速的棕色狐狸”和懒狗“

将占位符内容替换为单元格数组,'___',在第二个单元阵列中具有不同的值。

c1 = {'接收日期: ___';'接受日期:___'};旧='___';new = {'2016-09-06';'2016-10-11'};c2 = strep(c1,旧,新的)
C2 =2x1细胞{'收到的日期:2016-09-06'} {'被接受的日期:2016-10-11'}

创建具有重复,重叠模式的字符向量。比较使用的结果strrep.代替, 和regexprep.替换模式的功能。

重复='abc 2 def 22 ghi 222 jkl 2222'
重复='abc 2 def 22 ghi 222 jkl 2222'

找到重复模式的指数'22'使用strfind.功能。strfind.查找模式的所有实例,包括重叠的实例。

indices = strfind(重复,'22'
索引=1×6.11 18 19 26 27 28 28

代替'22'使用strrep.。当你使用时strrep.,它替换所识别的每个实例strfind.

使用_strrep = strrep(重复,'22''*'
使用_strep ='abc 2 def * ghi ** jkl ***'

代替'22'使用代替。它不会替换每个实例strrep.取代。

使用_replace = replace(重复,'22''*'
使用_replace ='abc 2 def * ghi * 2 jkl **'

代替'22'使用regexprep.。结果与使用的结果相同代替功能。

使用_regexprep = regexprep(重复,'22''*'
使用_regexprep ='abc 2 def * ghi * 2 jkl **'

strrep.在替换任何实例之前查找模式的所有实例。然而代替regexprep.一旦在文本中找到它,函数就会替换模式的实例。

输入参数

全部收缩

输入文本,指定为字符串数组,字符向量或字符向量的单元数组。

数据类型:细绳|char|细胞

子字段要替换为字符串阵列,字符向量或字符向量的单元数组。

数据类型:细绳|char|细胞

新的子字符串,指定为字符串阵列,字符向量或字符向量的单元格数组。

数据类型:细绳|char|细胞

算法

  • strrep.功能找不到空字符向量或空字符串进行替换。也就是说,何时str.老的两者都包含空字符向量('')或空字符串(),strrep.不将空字符向量或字符串替换为包含内容新的

  • 在更换文本之前,strrep.查找所有实例老的str., 如strfind.功能。用于重叠模式,strrep.执行多个替换。

扩展能力

在R2006A之前介绍