文档

strrep

查找并替换子字符串

描述

例子

newStr = strrep(str替换所有出现的str

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

例子

全部折叠

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

空空的=“敏捷的棕色狐狸”
chr =“敏捷的棕色狐狸”
newChr = strrep(chr,“快速”“狡猾”
newChr =“狡猾的棕色狐狸”

创建一个字符串数组。从R2017a开始,可以使用双引号创建字符串。

STR = [“敏捷的棕色狐狸”"还有懒狗"
str =2x1字符串数组"敏捷的棕色狐狸" "和懒惰的狗"

替换数组中每个元素的子字符串。

newStr = strrep(str,“的”“一个”
newStr =2x1字符串数组"一只敏捷的棕色狐狸" "一只懒惰的狗"

替换单元格数组中的占位符内容,“___”,在第二个单元格数组中使用不同的值。

C1 = {“接收日期:___”“接受日期:___”};老=“___”;New = {“2016-09-06”“2016-10-11”};C2 = strrep(C1,old,new)
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找到模式的所有实例,包括重叠的实例。

索引= strfind(重复,“22”
指数=1×611 18 19 26 27 28

取代“22”使用strrep.当你使用strrep,它将替换由strfind

Using_strrep = strrep(重复,“22”‘*’
Using_strrep = 'abc 2 def * ghi ** JKL ***'

取代“22”使用取代.它不能取代每一个实例strrep替换。

Using_replace = replace(重复,“22”‘*’
Using_replace = 'abc 2 def * hi *2 JKL **'

取代“22”使用regexprep.的结果与使用取代函数。

Using_regexprep = regexprep(重复,“22”‘*’
Using_regexprep = 'abc 2 def * ghi *2 JKL **'

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

输入参数

全部折叠

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

数据类型:字符串|字符|细胞

要替换的子字符串,指定为字符串数组、字符向量或字符向量的单元格数组。

数据类型:字符串|字符|细胞

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

数据类型:字符串|字符|细胞

算法

  • strrep函数没有找到空字符向量或空字符串进行替换。也就是说,当str而且两者都包含空字符向量()或空字符串(""),strrep的内容不替换空字符向量或字符串

  • 在替换文本之前,strrep的所有实例str,如strfind函数。对于重叠的模式,strrep执行多个替换。

扩展功能

R2006a之前介绍过