extractBetween
提取起始点和结束点之间的子字符串
语法
描述
例子
选择“子字符串之间的文本”
创建字符串数组并选择出现在子字符串之间的文本。
str =“敏捷的棕色狐狸”
str = "敏捷的棕色狐狸"
选择出现在子字符串之间的文本“快”
而且“狐狸”
.的extractBetween
函数选择但不包含的文本“快”
或“狐狸”
在输出中。
newStr = extractBetween(str,“快”,“狐狸”)
newStr = "brown"
从字符串数组的每个元素中选择子字符串。当指定不同的子字符串作为开始和结束指示符时,它们必须包含在大小相同的字符串数组或单元格数组中str
.
STR = [“敏捷的棕色狐狸跳跃”;“在懒惰的狗上方”]
str =2 x1字符串"敏捷的棕色狐狸" "跳过懒狗"
newStr = extractBetween(str,[“快”;“的”]、[“狐狸”;“狗”])
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 =模式匹配:"<" +通配符模式+ ">"
endPat =" < /+ wildcardPattern +“>”
endPat =模式匹配:"" +通配符模式+ ">"
然后调用extractBetween
函数。
newStr = extractBetween(str,startPat,endPat)
newStr =3 x1字符串“微积分I”“2020年秋季”“MWF 8:00-8:50”
有关创建模式对象的函数列表,请参见模式
.
选择起始位置和结束位置之间的子字符串
创建字符串数组,并在指定为数字的开始和结束位置之间选择子字符串。
str =《埃德加·艾伦·坡》
str = "埃德加·爱伦·坡"
选择中间名称。指定字符串中的第7和第11个位置。
newStr = extractBetween(str,7,11)
newStr = "Allen"
从字符串数组的每个元素中选择子字符串。当使用数值数组指定不同的开始和结束位置时,它们必须与输入字符串数组的大小相同。
STR = [《埃德加·艾伦·坡》;路易莎·梅·奥尔科特]
str =2 x1字符串《埃德加·艾伦·坡》《路易莎·梅·奥尔科特》
newStr = extractBetween(str,[7;8],[11;10])
newStr =2 x1字符串“艾伦”“可能”
选择包含和排除边界的文本
从具有强制包含或排除边界的字符串数组中选择文本。extractBetween
如果边界是包含的,则包含所选文本的边界。extractBetween
如果边界是排他性的,则不包含所选文本的边界。
str1 =“小|中|大”
Str1 = "小|中|大"
选择第6到13个位置之间的文本,但不包括这些位置上的字符。
newStr = extractBetween(str1,6,13,“界限”,“独家”)
newStr = "medium"
选择两个子字符串之间的文本,以及子字符串本身。
str2 =“敏捷的棕色狐狸跳过了懒狗”
str2 = "敏捷的棕色狐狸跳过了懒狗"
newStr = extractBetween(str2,“棕色”,“跳跃”,“界限”,“包容”)
newStr = "棕色狐狸跳跃"
在字符向量中选择位置之间的文本
创建一个字符向量,并在开始和结束位置之间选择文本。
空空的=蘑菇,辣椒和洋葱
CHR =“蘑菇、辣椒和洋葱”
newChr = extractBetween(chr,12,18)
newChr =1x1单元阵列{“辣椒”}
选择子字符串之间的文本。
newChr = extractBetween(chr,“蘑菇”,,”和“)
newChr =1x1单元阵列{“辣椒”}
输入参数
str
- - - - - -输入文本
字符串数组|特征向量|字符向量的单元格数组
输入文本,指定为字符串数组、字符向量或字符向量的单元格数组。
startPat
- - - - - -标记起始位置的文本或图案
字符串数组|特征向量|字符向量的单元格数组|模式
数组(R2020b起)
标记要提取的文本的起始位置的文本或模式,指定为下列之一:
字符串数组
特征向量
字符向量的单元格数组
模式
数组(因为R2020b)
如果str
是字符串数组或单元格数组的字符向量,那么您可以从的每个元素中提取子字符串str
.的每个元素中可以指定子字符串都具有相同的开始,也可以指定子字符串具有不同的开始str
.
要指定相同的开始,请指定
startPat
作为字符向量、字符串标量或模式
对象。要指定不同的开始,请指定
startPat
作为字符串数组,单元格数组的字符向量,或模式
数组中。
例子:extractBetween (str,“AB”、“YZ”)
提取之间的子字符串AB
而且YZ
在每一个元素中str
.
例子:如果str
是一个2
——- - - - - -1
那么是字符串数组extractBetween (str(“AB”;“成品”)(“YZ”;“圣”))
提取之间的子字符串AB
而且YZ
在str (1)
,以及成品
而且圣
在str (2)
.
endPat
- - - - - -标记结束位置的文本或图案
字符串数组|特征向量|字符向量的单元格数组|模式
数组(R2020b起)
标记要提取的文本的结束位置的文本或图案,指定为下列之一:
字符串数组
特征向量
字符向量的单元格数组
模式
数组(因为R2020b)
如果str
是字符串数组或单元格数组的字符向量,那么您可以从的每个元素中提取子字符串str
.您可以指定子字符串在的每个元素中都具有相同的结尾或具有不同的结尾str
.
要指定相同的结束,请指定
endPat
作为字符向量、字符串标量或模式
对象。要指定不同的端点,请指定
endPat
作为字符串数组,单元格数组的字符向量,或模式
数组中。
例子:extractBetween (str,“AB”、“YZ”)
提取之间的子字符串AB
而且YZ
在每一个元素中str
.
例子:如果str
是一个2
——- - - - - -1
那么是字符串数组extractBetween (str(“AB”;“成品”)(“YZ”;“圣”))
提取之间的子字符串AB
而且YZ
在str (1)
,以及成品
而且圣
在str (2)
.
startPos
- - - - - -起始位置
数字数组
起始位置,指定为数值数组。
如果str
数组是否包含多个文本片段startPos
可以是与?大小相同的数值标量或数值数组str
.
例子:extractBetween (str、5、9)
的每个元素中从第5到第9个位置提取子字符串str
.
例子:如果str
是一个2
——- - - - - -1
那么是字符串数组extractBetween (str [5; 10], [9; 21])
从中的第5到第9个位置提取子字符串str (1)
,从第10位到第21位str (2)
.
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
endPos
- - - - - -结束位置
数字数组
结束位置,指定为数值数组。
如果str
数组是否包含多个文本片段endPos
可以是与?大小相同的数值标量或数值数组str
.
例子:extractBetween (str、5、9)
的每个元素中从第5到第9个位置提取子字符串str
.
例子:如果str
是一个2
——- - - - - -1
那么是字符串数组extractBetween (str [5; 10], [9; 21])
从中的第5到第9个位置提取子字符串str (1)
,从第10位到第21位str (2)
.
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
界限
- - - - - -边界的行为
“包容”
|“独家”
边界行为,指定为“包容”
或“独家”
.当包含边界行为时,前面参数指定的开始和结束将包含在提取的文本中。如果边界行为是排他性的,则不包括开始和结束。
输出参数
newStr
-输出文本
字符串数组|单元格字符向量数组
输出文本,作为字符向量的字符串数组或单元格数组返回。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。