主要内容

eraseBetween

删除起始点和结束点之间的子字符串

描述

实例

newStr= eraseBetween (str,startPat,endPat)从中删除所有字符str发生在子字符串之间的startPatendPat,但不删除startPatendPat他们自己。eraseBetween将剩余文本返回为newStr

如果str是字符串数组或字符向量的单元格数组eraseBetween从元素的每个元素中删除字符str.输出参数newStr具有相同的数据类型str

实例

newStr= eraseBetween (str,startPos,endPos)从中删除所有字符str发生在两个位置之间startPosendPos,包括这些位置上的人物。

实例

newStr= eraseBetween (___,“边界”,界限)强制前面任何语法中指定的开始和结束为包含或独占。它们在以下情况下是包容性的:界限“包容性”,当界限“独家”. 例如eraseBetween (str startPat endPat,“边界”,“包容性”)删除startPat,endPat,以及他们之间所有的文字。

例子

全部折叠

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

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

str=“敏捷的棕色狐狸”
str=“敏捷的棕色狐狸”

如果您使用的是R2016b,请使用一串函数而不是双引号。

删除子字符串之间出现的文本“快”“狐狸”.的eraseBetween函数删除文本,但不删除“快”“狐狸”

newStr=eraseBetween(str,“快”,“狐狸”)
newStr=“快速狐狸”

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

str = [“敏捷的棕色狐狸跳了起来”;"盖过懒狗"]
str=2 x1字符串敏捷的棕色狐狸跳过懒狗
startPos=[“快”;“这个”];endPos = [“狐狸”;“狗”]; newStr=eraseBetween(str、startPos、endPos)
newStr =2 x1字符串敏捷的狐狸跳过狗

自R2020b以来

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

str = [微积分I;学期“< >”2020年秋季学期< / >;MWF 8:00-8:50]
str=3x1字符串"Calculus I" "Fall 2020" "MWF 8:00-8:50"

删除标签包围的文本。属性首先创建匹配任何开始标记和结束标记的模式通配符模式作用

startPat=" < "+通配符模式+“>”
startPat=模式匹配:“<”+通配符模式+“>”
恩帕特=" < /+通配符模式+“>”
恩帕特=模式匹配:“

然后调用eraseBetween作用

newStr=eraseBetween(str、startPat、endPat)
newStr =3x1字符串“< courseName > < / courseName > " <学期> > < /学期”“<时间表> < /时间表>”

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

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

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

str=“埃德加·艾伦·坡”
str=“埃德加·艾伦·坡”

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

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

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

str = [“埃德加·艾伦·坡”;“路易莎·梅·奥尔科特”]
str=2 x1字符串“埃德加·艾伦·坡”“路易莎·梅·奥尔科特”
startsPos =[6、7];endPos = (11; 10);newStr = eraseBetween (str, startsPos endPos)
newStr =2 x1字符串“埃德加·坡”“路易莎·奥尔科特”

从强制包含或排他边界的字符串数组中删除文本。eraseBetween删除包含边界的边界。eraseBetween当边界为独占时,将其作为输出字符串数组的一部分返回。

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

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

删除第6位到第13位之间的文本,但不删除该位置上的字符。

newStr = eraseBetween (str 6 13日“边界”,“独家”)
newStr=“小| |大”

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

str="那只敏捷的棕色狐狸跳过了懒狗"
str=“敏捷的棕色狐狸跳过了懒狗”
newStr=eraseBetween(str,“棕色”,“懒惰”,“边界”,“包容性”)
newStr = "快速的狗"

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

chr=蘑菇、胡椒和洋葱
蘑菇、胡椒和洋葱
newChr=eraseBetween(chr,10,19)
newChr = '蘑菇洋葱'

删除子字符串之间的文本。

newChr=在(chr,“蘑菇”,“还有”)
newChr = '蘑菇洋葱'

输入参数

全部折叠

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

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

  • 字符串数组

  • 特征向量

  • 字符向量的单元格数组

  • 模式大堆(自R2020b起)

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

  • 要指定相同的起点,请指定startPat作为字符向量、字符串标量或模式对象

  • 要指定不同的起点,请指定startPat作为字符串数组、字符向量的单元格数组或模式大堆

例子:eraseBetween (str,“AB”、“YZ”)删除之间的所有字符ABYZ在每个元素中str

例子:如果str是一个2.——- - - - - -1.字符串数组,然后(str、[“AB”;“FG”]、[“YZ”;“ST”])删除之间的所有字符ABYZstr(1),及前景装货单str(2)

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

  • 字符串数组

  • 特征向量

  • 字符向量的单元格数组

  • 模式大堆(自R2020b起)

如果str是字符向量的字符串数组或单元格数组,则可以从str. 可以指定子字符串在元素的每个元素中都具有相同的端点或不同的端点str

  • 要指定相同的端点,请指定endPat作为字符向量、字符串标量或模式对象

  • 要指定不同的端点,请指定endPat作为字符串数组、字符向量的单元格数组或模式大堆

例子:eraseBetween (str,“AB”、“YZ”)删除之间的所有字符ABYZ在每个元素中str

例子:如果str是一个2.——- - - - - -1.字符串数组,然后(str、[“AB”;“FG”]、[“YZ”;“ST”])删除之间的所有字符ABYZstr(1),及前景装货单str(2)

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

如果str是字符串数组还是字符向量的单元格数组startPos可以是与相同大小的数值标量或数值数组str

例子:(str,5,9)的每个元素中从第5位到第9位的所有字符str

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

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

如果str是字符串数组还是字符向量的单元格数组endPos可以是与相同大小的数值标量或数值数组str

例子:(str,5,9)的每个元素中从第5位到第9位的所有字符str

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

输出参数

全部折叠

输出文本,作为字符串数组、字符向量或字符向量的单元格数组返回。strnewStr具有相同的数据类型。

扩展能力

R2016b中引入