主要内容

eraseBetween

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

描述

例子

newStr= eraseBetween (strstartPatendPat删除所有字符str发生在子字符串之间startPat而且endPat,但不删除startPat而且endPat他们自己。eraseBetween返回剩下的文本为newStr

如果str是字符串数组还是字符向量的单元格数组eraseBetween的每个元素中删除字符str.输出参数newStr数据类型与str

例子

newStr= eraseBetween (strstartPosendPos删除所有字符str发生在位置之间startPos而且endPos,包括这些位置上的人物。

例子

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

例子

全部折叠

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

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

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

newStr = eraseBetween(str,“快”“狐狸”
newStr = "敏捷的狐狸"

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

STR = [“敏捷的棕色狐狸跳跃”“在懒惰的狗上方”
str =2 x1字符串"敏捷的棕色狐狸" "跳过懒狗"
startPos = [“快”“的”];endPos = [“狐狸”“狗”];newStr = eraseBetween(str,startPos,endPos)
newStr =2 x1字符串"敏捷的狐狸" "跳过狗"

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

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

删除标记所包含的文本。属性创建匹配任何开始标记和结束标记的模式wildcardPattern函数。

startPat =" < "+ wildcardPattern +“>”
startPat =模式匹配:"<" +通配符模式+ ">"
endPat =" < /+ wildcardPattern +“>”
endPat =模式匹配:""

然后调用eraseBetween函数。

newStr = eraseBetween(str,startPat,endPat)
newStr =3 x1字符串"" "" ""

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

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

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如果边界是独占的,则将边界作为输出字符串数组的一部分返回。

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

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

newStr = eraseBetween(str,6,13,“界限”“独家”
newStr = "小||大"

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

str =“敏捷的棕色狐狸跳过了懒狗”
str = "敏捷的棕色狐狸跳过懒狗"
newStr = eraseBetween(str,“棕色”“懒”“界限”“包容”
newStr = "快狗"

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

空空的=蘑菇,辣椒和洋葱
CHR =“蘑菇、辣椒和洋葱”
newChr = eraseBetween(chr,10,19)
newChr = '蘑菇和洋葱'

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

newChr = eraseBetween(chr,“蘑菇””和“
newChr = '蘑菇和洋葱'

输入参数

全部折叠

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

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

  • 字符串数组

  • 特征向量

  • 字符向量的单元格数组

  • 模式数组

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

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

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

例子:eraseBetween (str,“AB”、“YZ”)删除所有字符。AB而且YZ在每一个元素中str

例子:如果str是一个2——- - - - - -1那么是字符串数组eraseBetween (str(“AB”;“成品”)(“YZ”;“圣”))删除所有字符。AB而且YZstr (1),以及成品而且str (2)

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

  • 字符串数组

  • 特征向量

  • 字符向量的单元格数组

  • 模式数组

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

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

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

例子:eraseBetween (str,“AB”、“YZ”)删除所有字符。AB而且YZ在每一个元素中str

例子:如果str是一个2——- - - - - -1那么是字符串数组eraseBetween (str(“AB”;“成品”)(“YZ”;“圣”))删除所有字符。AB而且YZstr (1),以及成品而且str (2)

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

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

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

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

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

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

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

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

边界行为,指定为“包容”“独家”.当包含边界行为时,由先前参数指定的开始和结束将包含在删除的文本中。如果边界行为是排他性的,则不包括开始和结束。

输出参数

全部折叠

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

扩展功能

版本历史

在R2016b中引入