主要内容

腐蚀

删除开始和结束点之间的子串

描述

例子

newStr= erasebetween(str,startPat,终止)删除所有字符str发生在子字符串之间startPat终止,但不删除startPat终止他们自己。腐蚀返回剩下的文本为newStr

如果str是字符串数组还是字符向量的单元格数组腐蚀的每个元素中删除字符str。输出参数newStr具有相同的数据类型为str

例子

newStr= erasebetween(str,startPos,终端)删除所有字符str在位置之间发生startPos终端,包括这些位置的字符。

例子

newStr= erasebetween(___、“边界”范围)强制前面任何语法中指定的开始和结束为包含或排除。它们是包容性的界限“包容”,何时独家界限'独家的'。例如,erasebetween(str,startpat,endpat,'界限','包容')删除startPat,终止,以及它们之间的所有文本。

例子

全部收缩

创建字符串数组。然后删除在子串之间发生的文本。

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

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

如果使用的是R2016b,则使用字符串函数代替双引号。

删除出现在子字符串之间的文本“快”“ 狐狸”。这腐蚀命令功能删除文本,但不删除“快”或者“ 狐狸”

纽约= erasebetween(str,“快”,“ 狐狸”)
newStr = "敏捷的狐狸"

从字符串数组的每个元素中删除子字符串。当指定不同的子字符串作为开始和结束指示符时,它们必须包含在字符串数组或大小与的字符向量的单元格数组中str

str = [“快速的棕色狐狸跳”;“过于懒狗”]
str =2x1字符串"敏捷的棕色狐狸跳过" "懒狗"
startPos = [“快”;“的”];Endpos = [“ 狐狸”;“狗”];newStr = eraseBetween (str, startPos endPos)
newstr =.2x1字符串"敏捷的狐狸跳过" "狗"

自从R2020b

创建一个字符串数组,其中包含由标记括起来的文本。

str = [“< courseName >微积分我< / courseName >”;“<学期>秋季2020 ;“<时间表> MWF 8:00-8:50 < /时间表>”]
str =3 x1字符串微积分I ”“<学期>秋季2020 ”“<时间表> MWF 8:00-8:50 

删除标记括的文本。首先使用使用的创建符合任何起始标记和结束标记的模式wildcardPattern函数。

startpat =" < "+ wildcardPattern +“>”
startpat =图案匹配:"<" + wildcardPattern + ">"
endPat =+ wildcardPattern +“>”
endPat =图案匹配:""

然后打电话给腐蚀函数。

newStr = eraseBetween (str, startPat endPat)
newstr =.3 x1字符串 ”“ ”“ 

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

创建字符串数组并删除作为数字指定的开始和结束位置之间的子串。

创建包含名称的字符串。从R2017a开始,可以使用双引号创建字符串。

str =“埃德加艾伦普”
str = "埃德加·爱伦·坡"

删除子字符串。要删除中间名和一个空格字符,请指定字符串中的第六和第11个位置。删除的子字符串包括第六和第11个字符。

newStr = eraseBetween (str 6 11)
"埃德加·坡"

从字符串数组的每个元素中删除子字符串。使用数字阵列指定不同的开始和结束位置时,它们必须与输入字符串数组相同。

str = [“埃德加艾伦普”;“路易莎。梅。爱尔考特”]
str =2x1字符串"埃德加·爱伦·坡" "路易莎·梅·奥尔科特"
startspos = [6; 7];endpos = [11; 10];newstr = erasebetween(str,startspos,endpos)
newstr =.2x1字符串"埃德加·坡" "路易莎·奥尔科特"

从字符串阵列中删除文本,边界被强制为包含或独占。腐蚀删除包含边界时的边界。腐蚀返回界限作为输出字符串数组的一部分。

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

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

删除第六和第13次位置之间的文本,但不要删除这些位置的字符。

newstr = erasebetwe(str,6,13,“界限”,'独家的')
newstr =“小||大”

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

str =“敏捷的棕色狐狸跳过了懒狗”
str = "敏捷的棕色狐狸跳过了懒狗"
纽约= erasebetween(str,“ 棕色的”,“懒”,“界限”,“包容”)
newstr =“快速狗”

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

空空的='蘑菇,辣椒和洋葱'
Chr ='蘑菇,辣椒和洋葱'
newChr = eraseBetween(科10 19)
newchr ='蘑菇和洋葱'

删除子串之间的文本。

newchr = erasebetween(chr,“蘑菇”,' 和')
newchr ='蘑菇和洋葱'

输入参数

全部收缩

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

标记要删除文本的起始位置的文本或图案,指定为下列之一:

  • 字符串数组

  • 特征向量

  • 字符向量的单元格阵列

  • 图案大批(因为R2020b)

如果str是字符串数组或单元格数组的字符向量,那么您可以删除子字符串从str。您可以指定所有元素中的子串都具有相同的开始或在每个元素中都有不同的开始str

  • 要指定相同的起始值,请指定startPat作为字符矢量,字符串标量或图案目的。

  • 要指定不同的起始点,请指定startPat作为字符串阵列,字符向量的单元格数组,或图案数组中。

例子:erasebetween(str,“ab”,“yz”)删除字符之间的所有字符AByz.在每个元素中str

例子:如果str是一个2-经过-1字符串数组,然后eraseBetween (str(“AB”;“成品”)(“YZ”;“圣”))删除字符之间的所有字符AByz.str (1)之间,成品str (2)

标记要删除的文本的结束位置的文本或模式,指定为以下内容之一:

  • 字符串数组

  • 特征向量

  • 字符向量的单元格阵列

  • 图案大批(因为R2020b)

如果str是字符串数组或单元格数组的字符向量,那么您可以删除子字符串从str。的每个元素中,可以指定子字符串都具有相同的结尾或不同的结尾str

  • 如果要指定相同的结束,请指定终止作为字符矢量,字符串标量或图案目的。

  • 如果要指定不同的终端,请指定终止作为字符串阵列,字符向量的单元格数组,或图案数组中。

例子:erasebetween(str,“ab”,“yz”)删除字符之间的所有字符AByz.在每个元素中str

例子:如果str是一个2-经过-1字符串数组,然后eraseBetween (str(“AB”;“成品”)(“YZ”;“圣”))删除字符之间的所有字符AByz.str (1)之间,成品str (2)

启动位置,指定为数字数组。

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

例子:eraseBetween (str、5、9)通过每个元素的第九个位置从第五个删除所有字符str

例子:如果str是一个2-经过-1字符串数组,然后eraseBetween (str [5; 10], [9; 21])通过第九位删除第五个中的所有字符str (1)从第10位到第21位str (2)

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

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

例子:eraseBetween (str、5、9)通过每个元素的第九个位置从第五个删除所有字符str

例子:如果str是一个2-经过-1字符串数组,然后eraseBetween (str [5; 10], [9; 21])通过第九位删除第五个中的所有字符str (1)从第10位到第21位str (2)

输出参数

全部收缩

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

扩展功能

介绍了R2016b