主要内容

替换

替换起始点和结束点之间的子字符串

描述

例子

newStr=替换(str.startpat.终止新文本替换子串str.用文本新文本.替换的子串发生在子串之间startpat.终止.但是,替换不替代startpat.终止自己。替换返回结果为newStr.的新文本参数可以具有与其替换的子字符串不同的字符数量。

如果str.是字符串数组或字符向量的小区数组,然后替换替换每个元素中的子字符串str..输出参数newStr具有相同的数据类型为str.

例子

newStr=替换(str.startPos终端新文本替换子串str..被替换的子字符串发生在位置之间startPos终端str.,包括这些位置的字符。

例子

newStr=替换(___、“边界”范围)强制在任何先前语法中指定的开始和结束是包含或独占的。他们是包容性的界限'包容',何时独家界限'独家'.例如,替换(str,startpat,endpat,newtext,'边界','包含')替换startpat.终止,以及它们之间的所有文本与由此指定的文本新文本

例子

全部折叠

创建字符串数组并替换子串之间发生的文本。

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

str =“快速棕色狐狸”
str = "敏捷的棕色狐狸"

如果您使用的是R2016B,请使用“使用”r2016b“创建字符串数组函数而不是双引号。

替换在子串之间发生的文本quick狐狸.的替换函数替换文本但不替换quick或者狐狸在输出。

newstr =替换(str,“快速”“狐狸”“红色”
"敏捷的红狐狸"

替换字符串数组中每个元素的子字符串。当您指定不同的子字符串作为起始和结束指示器时,它们必须包含在与起始和结束指示器大小相同的字符串数组或单元格数组中str..替换文本还必须位于相同大小的字符串数组或单元格数组中。

str = [“敏捷的棕色狐狸跳了起来”"盖过懒狗"
str =2x1字符串"那只敏捷的棕色狐狸跳过了那只懒狗"
newtext = [“红色”“睡觉”];newStr = replaceBetween (str, (“快速”“”],[“狐狸”“狗”), newText)
newStr =2x1字符串"敏捷的赤狐跳过" "熟睡的狗"

自从R2020b

创建缩写等“国际化”“国际化”.为此,请将文字与字母数的单词的第一个和最后一个字母之间的文本替换为。

首先,创建一个字符串数组。

str = [“全球化”“国际化”“定位”
str =3 x1字符串“全球化”“国际化”“本地化”

创建匹配字符串第一个和最后一个字符的模式。的TextBeintary.函数匹配字符串的开始或结尾的边界,而呼叫Letterspattern(1)匹配任何信件。

startpat = textboundary + letterspattern(1)
startpat =模式匹配:TextBoundary + Letterspattern(1)
Endpat = Letterspattern(1)+ TextBoundary
终止=模式匹配:Letterspattern(1)+ TextBoundary

找到每个字符串的长度str..要考虑第一个和最后一个字母,从每个长度中减去两个。将长度转换为字符串。

L = strlength(str) - 2;L =字符串(左)
L =3 x1字符串“十一”“18”“10”

的元素创建缩写str..替换具有元素的第一个和最后一个字母之间的字符l

newstr =替换(str,startpat,endpat,l)
newStr =3 x1字符串“g11n”“i18n”“l10n”

有关创建模式对象的函数列表,请参见模式

创建字符串阵列并将指定为数字指定的开始和结束位置之间的子串替换为替换子串。

从R2017a开始,您可以使用双引号创建字符串。创建包含名称的字符串。要替换中间名,请指定字符串中的第七和第11个位置。

str =“埃德加·艾伦·坡”
str = "埃德加·爱伦·坡"
newstr =替换(str,7,11,“一个”。
纽约特=“埃德加A. Poe”

替换字符串数组中每个元素的子字符串。当您使用数字数组指定不同的开始和结束位置时,它们必须与输入字符串数组的大小相同。替换文本还必须位于相同大小的字符串数组或单元格数组中。

str = [“埃德加·艾伦·坡”“路易莎可能alcott”
str =2x1字符串《埃德加·爱伦·坡》《路易莎·梅·奥尔科特》
newtext = [“A.”“M.”];newStr = replaceBetween (str(7、8),[11;10],newText)
newStr =2x1字符串“埃德加A. Poe”“Louisa M. Alcott”

替换从被迫包容或独占的边界内的字符串数组中的文本。替换当边界包含时,将边界与文本一起替换。替换当边界独占时,不会替换边界。

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

str =“小|中型|大”
str = "小|中|大"

替换第六和第13个位置之间的文本,但不要替换这些位置的字符。

newtext =.“常规”;newStr = replaceBetween (newText str、6、13日,'界限''独家'
Newstr =“小|常规|大”

替换两个子字符串之间的文本,以及子字符串本身。

str ="那只敏捷的棕色狐狸跳过了懒狗"
str =“快速的棕色狐狸跳过懒狗”
newtext =.“红鸟飞”;newstr =替换(str,“棕色”'跳跃',新文本,'界限''包容'
newstr =“快速的红鸟飞过懒狗”

创建字符向量并在开始和结束位置之间替换文本。

空空的='蘑菇,辣椒和洋葱'
蘑菇、胡椒和洋葱
newChr = replaceBetween(科、12、18日“菠萝”
newchr ='蘑菇,菠萝和洋葱'

替换子字符串之间的文本。

newChr = replaceBetween(空空的,“蘑菇”,'和''额外的奶酪,'
蘑菇,额外的奶酪和洋葱

输入参数

全部折叠

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

标记要替换文本的起始位置的文本或模式,指定为以下内容之一:

  • 字符串数组

  • 特征向量

  • 字符向量的单元格阵列

  • 模式阵列(因为R2020b)

如果str.是字符向量的字符串数组或单元格数组,然后可以替换每个元素中的子字符串str..的每个元素可以指定所有子字符串具有相同的起始点,或者具有不同的起始点str.

  • 指定相同的开始,指定startpat.作为字符矢量,字符串标量或模式对象。

  • 要指定不同的开始,请指定startpat.作为字符串数组、字符向量的单元格数组或模式数组中。

示例:替换(str,“ab”,“yz”,newtext)替换之间的子字符串AByz.在每个元素中str.正文由新文本

示例:如果str.是A.2-1字符串数组,然后替换(str,[“ab”;“fg”],[“yz”;“st”],newtext)替换之间的子串AByz.str(1)之间,成品str(2)

标记要替换的文本的最终位置的文本或模式,指定为以下内容之一:

  • 字符串数组

  • 特征向量

  • 字符向量的单元格阵列

  • 模式阵列(因为R2020b)

如果str.是字符向量的字符串数组或单元格数组,然后可以替换每个元素中的子字符串str..可以指定子字符串要么都有相同的端点,要么在的每个元素中有不同的端点str.

  • 指定相同的结束,指定终止作为字符矢量,字符串标量或模式对象。

  • 要指定不同的端点,请指定终止作为字符串数组、字符向量的单元格数组或模式数组中。

示例:替换(str,“ab”,“yz”,newtext)替换之间的子字符串AByz.在每个元素中str.正文由新文本

示例:如果str.是A.2-1字符串数组,然后替换(str,[“ab”;“fg”],[“yz”;“st”],newtext)替换之间的子串AByz.str(1)之间,成品str(2)

起始位置,指定为数字数组。

如果str.是字符串数组或字符向量的小区数组,然后startPos可以是与尺寸相同的数字标量或数字数组str.

示例:替换(str,5,9,newtext)的每个元素中从第5位到第9位的子字符串str.正文由新文本

示例:如果str.是A.2-1字符串数组,然后替换(str,[5; 10],[9; 21],newtext)替换子字符串中从第5位到第9位的位置str(1),和第10个穿过21职位str(2)

结束位置,指定为数字数组。

如果str.是字符串数组或字符向量的小区数组,然后终端可以是与尺寸相同的数字标量或数字数组str.

示例:替换(str,5,9,newtext)的每个元素中从第5位到第9位的子字符串str.正文由新文本

示例:如果str.是A.2-1字符串数组,然后替换(str,[5; 10],[9; 21],newtext)替换子字符串中从第5位到第9位的位置str(1),和第10个穿过21职位str(2)

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

如果str.是字符串数组或字符向量阵列,然后是字符向量新文本可以是字符向量,字符串标量或字符串数​​组或相同尺寸的单元数组str.

示例:替换(str,“ab”,“yz”,“efg”)替换之间的子字符串AByz.在每个元素中str.efg.

示例:如果str.是A.2-1字符串数组,然后替换(str,[“ab”;“fg”],[“yz”;“st”],[“efg”;“lmnop”]替换之间的子串AByz.str(1)efg.之间,成品str(2)LMNOP.

输出参数

全部折叠

输出文本,作为字符串阵列,字符向量或字符向量阵列返回。str.newStr具有相同的数据类型。

扩展能力

介绍了R2016b