主要内容

eraseBetween

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

描述

例子

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

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

例子

newStr= eraseBetween (strstartPos终端删除所有字符str发生在两个位置之间startPos终端,包括这些位置上的人物。

例子

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

例子

全部折叠

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

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

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

如果你正在使用R2016b,使用字符串函数而不是双引号。

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

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

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

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

自从R2020b

创建一个由标签包围的文本字符串数组。

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 =模式匹配:"<" + wildcardPattern + ">"
endPat =" < /+ wildcardPattern +“>”
endPat =模式匹配:""

然后调用eraseBetween函数。

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

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

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

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

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

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

newStr = eraseBetween (str 6 11)
"爱伦·坡"

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

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 ="那只敏捷的棕色狐狸跳过了懒狗"
那只敏捷的棕色狐狸跳过了那只懒狗。
纽约= erasebetween(str,“棕色”“懒”“界限”“包容”
newStr = "快速的狗"

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

空空的=蘑菇、胡椒和洋葱
蘑菇、胡椒和洋葱
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”;“圣”))删除之间的所有字符ABYZstr (1)之间,成品str (2)

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

  • 字符串数组

  • 特征向量

  • 字符向量的单元格数组

  • 模式大批(因为R2020b)

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

  • 要指定相同的端,请指定endPat作为字符矢量,字符串标量或模式目的。

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

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

例子:如果str是一个2——- - - - - -1字符串数组,然后eraseBetween (str(“AB”;“成品”)(“YZ”;“圣”))删除之间的所有字符ABYZstr (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是字符串数组还是字符向量的单元格数组终端可以是与尺寸相同的数字标量或数字数组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)

输出参数

全部折叠

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

扩展功能

介绍了R2016b