文档

分裂

在字符串数组中拆分字符串,或将日历持续时间拆分为数字和持续时间单位

语法

newStr = split(str)
newStr = split(str,分隔符)
newStr = split(str,分隔符,dim)
[newStr,matches] = split(___
(X1, X2,…]=分裂(t,单位)

描述

例子

newStr=分裂(strstr,并将结果作为输出数组返回newStr.输入数组str可以是字符串数组、字符向量或字符向量的单元格数组。如果str是字符串数组,那么是newStr.否则,newStr是字符向量的单元格数组。newStr不包括来自的空格字符str

如果str包含多个元素,那么每个元素必须能被相同数量的子字符串整除。

  • 如果str那么,字符串是标量还是字符向量newStr是一个N——- - - - - -1字符向量的字符串数组或单元格数组,其中N是子串的个数。

  • 如果str是一个——- - - - - -1那么,是字符串数组还是单元格数组newStr是一个——- - - - - -N数组中。

  • 如果str是一个1——- - - - - -那么,是字符串数组还是单元格数组newStr是一个1——- - - - - -——- - - - - -N数组中。

对于任意大小的字符串数组或单元格数组,分裂指引方向的N大小为的第一个尾随维度的子字符串1

的每个元素子串的个数不相同str,然后打电话分裂在一个的元素除以str一次一个。

例子

newStr=分裂(str分隔符的每个元素str指定的分隔符分隔符newStr不包括分隔符。

例子

newStr=分裂(str分隔符昏暗的的每个元素str变成一个沿维数方向的向量昏暗的

例子

newStr匹配= split(分裂)___另外返回一个数组,匹配,其中包含分隔符的所有出现分裂函数将str.您可以将此语法与前面语法的任何输入参数一起使用。

例子

X1, X2,…= split(分裂)t单位中的日历持续时间值t作为单独的数字数组,每个日期或时间单位对应一个单位.指定的日期和时间单位的数目单位确定输出参数的数量。

例子

全部折叠

在空格处拆分字符串数组中的名称。然后对字符串重新排序,并将它们连接起来,使姓氏先于名字。

从R2017a开始,您可以使用双引号而不是字符串函数。创建一个包含名称的3乘1字符串数组。

姓名= [“玛丽琼斯”“约翰·斯宾塞”“伊丽莎白年轻”
名称=3×1字符串数组玛丽·琼斯约翰·斯宾塞伊丽莎白·杨

分裂的名字在空白处,使其成为3 × 2的字符串数组。

Names = split(Names)
名称=3×2字符串数组"玛丽" "琼斯" "约翰" "斯宾塞" "伊丽莎白" "杨"

的列进行切换的名字所以姓氏在第一列。在每个姓后面加逗号。

Names = [Names (:,2) Names (:,1)];Names (:,1) = Names (:,1) +”、“
名称=3×2字符串数组"琼斯" "玛丽" "斯宾塞" "约翰" "杨" "伊丽莎白"

把姓和名连起来。的加入函数在它连接的字符串之间放置一个空格字符。在加入之后,的名字是一个3乘1的字符串数组。

Names = join(Names)
名称=3×1字符串数组"琼斯,玛丽" "斯宾塞,约翰" "杨,伊丽莎白"

创建一个包含文件夹路径的字符串。从R2017a开始,您可以使用双引号而不是字符串函数。

myPath =“/用户/ jdoe /我的文档/例子”
myPath = "/Users/jdoe/My Documents/Examples"

把这条路分开/的性格。分裂返回myFolders作为一个5 × 1的字符串数组。第一个字符串是""因为myPath/的性格。

myFolders = split(myypath,“/”
myFolders =5×1字符串数组"" "用户"" jdoe" "我的文档""示例"

加入myFolders进入一条新的道路作为分隔符。添加C:作为道路的起点。

myNewPath = join(myFolders,“\”);myNewPath =“C:”+ myNewPath
myNewPath = "C:\Users\jdoe\My Documents\Examples"

从R2017a开始,您可以使用双引号而不是字符串函数。

str =“一匹马!一匹马!我的王国换一匹马!”
str = "一匹马! "一匹马!我的王国换一匹马!”

分裂str感叹号和空格字符。newStr是一个10 × 1的字符串数组。最后一个字符串是空字符串,"",因为最后一个字符在str分隔符。

newStr = split(str,[”““啊!”])
newStr =12×1字符串数组“A”“马”“”“”“马”“”“我”“王国”“”“”“马”“

创建一个字符串数组,其中每个元素都包含关于患者的逗号分隔的数据。从R2017a开始,您可以使用双引号而不是字符串函数。

患者= [“姓,年龄、性别、身高、体重””亚当斯,47岁,F, 64123””琼斯68175……”“王,M, 66180””38岁的史密斯,F, 63118”
病人=5×1字符串数组“姓,年龄,性别,身高,体重”“亚当斯,47岁,F,64,123”“琼斯……68,175”“金,M,66,180”“史密斯,38岁,F,63,118”

拆分字符串数组。一对逗号之间没有任何内容表示数据缺失。当分裂对重复的分隔符进行除法时,它返回空字符串作为输出数组的对应元素。

患者=分裂(患者,”、“
病人=5×5字符串数组“姓”“时代”“性别”的“高度”“重量”“亚当斯”“47”“F”“64”“123”琼斯”“”“”““68”“175”“王”““M”“66”“180”“史密斯”“38”“F”“63”“118”

创建一个包含名称的3乘1字符串数组。从R2017a开始,您可以使用双引号而不是字符串函数。

姓名= [“玛丽琼斯”“约翰·斯宾塞”“伊丽莎白年轻”
名称=3×1字符串数组玛丽·琼斯约翰·斯宾塞伊丽莎白·杨

在空白处拆分数组。默认情况下,分裂沿着大小为1的第一个尾随维度定向输出子字符串。自的名字是一个3乘1的字符串数组,分裂的第二个维度定向子字符串splitNames:即列。

splitNames = split(names)
splitNames =3×2字符串数组"玛丽" "琼斯" "约翰" "斯宾塞" "伊丽莎白" "杨"

要沿行或第一个维度定位子字符串,请在指定分隔符之后指定维度。splitNames现在是一个2 × 3的字符串数组,第一行是名字,第二行是姓氏。

splitNames = split(names,”“, 1)
splitNames =2×3字符串数组"玛丽" "约翰" "伊丽莎白" "琼斯" "斯宾塞" "杨"

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

str =培根、生菜和番茄
STR = "培根,生菜和番茄"

分裂str分隔符。在字符串数组中返回拆分的结果,在第二个字符串数组中返回分隔符。分裂当连续分隔符之间没有文本时,返回空字符串。

[newStr,matches] = split(str,[”和“”、“”“])
newStr =7×1字符串数组“培根" "" "生菜" "" "" "" "西红柿”
场=6×1字符串数组、" " " "、" " " "和“”

加入newStr而且匹配回到一起加入函数。

originalStr = join(newStr,matches)
originalStr = "培根,生菜和番茄"

创建一个calendarDuration数组中。

T = calmonths(15:17) + caldays(8) + hours(1.2345)
T =1×3 calendarDuration数组1y 3mo 8d 1h 14m 4.2s 1y 4mo 8d 1h 14m 4.2s 1y 5mo 8d 1h 14m 4.2s

获取月、日和时间。

[m,d,t] = split(t,{)“月”“天”“时间”})
m =15 16 17
d =8 8 8
t =1×3持续时间数组01:14:04 01:14:04 01:14:04

得到年、月、日和时间。

[y,m,d,t] = split(t,{)“年”“月”“天”“时间”})
y =1 1 1
m =3 4 5
d =8 8 8
t =1×3持续时间数组01:14:04 01:14:04 01:14:04

当您同时请求年份和月份时,分裂将大于12的月值转到年值。

输入参数

全部折叠

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

数据类型:字符串|字符|细胞

分隔子字符串,指定为字符串数组、字符向量或字符向量的单元格数组。中指定的子字符串分隔符不出现在输出中newStr

在字符串数组或字符向量的单元格数组中指定多个分隔符。的分裂函数将str论的要素分隔符.分隔符出现的顺序分隔符除非多个分隔符在相同字符处开始匹配,否则不要紧str.在这种情况下分裂中的第一个匹配分隔符进行拆分分隔符

例子:split (str ,{' ',',','--'})分裂str空格、逗号和成对的连续破折号。

数据类型:字符串|字符|细胞

分隔字符串的维度,指定为正整数。如果昏暗的,则默认为最后一个数组维度,其大小不等于1

输入日历持续时间,指定为calendarDuration数组中。

数据类型:calendarDuration

日期和时间单位,指定为字符向量或字符向量的单元格数组。指定单位只有当第一个输入参数是calendarDuration数组,t

字符向量可以是表中的一个或多个值:

价值 分裂t成单位为…
“年”
“季度” 季度
“月” 个月
“周”
“天”
“时间” 时间,格式为小时:分:秒

必须指定从大到小的日期和时间单位。例如,{“年”、“月”}是有效的,但是{‘月’,‘年’}不是。

例子:分割(t,{“年”、“月”,“天”})

数据类型:字符|细胞

输出参数

全部折叠

从原始数组中分离出来的子字符串,作为字符串数组或字符向量的单元格数组返回。如果输入数组str是字符串数组,那么是newStr.否则,newStr是字符向量的单元格数组。

数据类型:字符串

标识的分隔符,作为字符串数组或字符向量的单元格数组返回。如果输入数组str是字符串数组,那么是匹配.否则,匹配是字符向量的单元格数组。

匹配总是比输出少包含一个元素newStr包含。

数据类型:字符串

输出数字和持续时间值,作为数组返回。分裂返回数值数组中的年、月和日值以及中的时间值持续时间数组。

数据类型:|持续时间

扩展功能

在R2014b中引入

这个话题有帮助吗?