文档

strsplit

指定分隔符分割字符串

语法

C=strsplit(str)
c = strsplit(str,delimiter)
c = strsplit(str,delimiter,name,值)
[C,matches]=strsplit(___)

描述

实例

C=strsplit(str)分裂str将空格改为C。空白字符相当于集合中的任何序列{'','\ f','\ n','\ r','\ t','\ v'}.

如果str具有连续的空白字符,则strsplit将它们视为一个空格。

实例

C=strsplit(str,分隔符)分裂str在指定的分隔符处分隔符.

如果str有连续的分隔符,它们之间没有其他字符,然后strsplit将它们视为一个分隔符。例如,两者都是strsplit('你好,世界',',')strsplit('hello ,,,世界',',')返回相同的输出。

实例

C=strsplit(str,分隔符,名称、值)使用一个或多个名称值对参数指定其他分隔符选项。例如,要将连续的分隔符视为单独的分隔符,可以指定“CollapseDelimiters”,错误.

实例

[C,火柴] = strsplit(___)另外返回阵列,火柴.这火柴输出参数包含所有出现的分隔符strsplit分裂str。您可以将此语法与前面语法的任何输入参数一起使用。

例子

全部收缩

str=“西班牙的雨。”;C=strsplit(str)
C =1x4单元阵列{'''} {'下雨'} {'in'} {西班牙。'}

C是包含四个字符向量的单元阵列。

拆分包含逗号分隔值的字符向量。

数据='1.21,1.985,1.955,2.015,1.885';c = strsplit(数据,',')
C =1x5单元阵列{'1.21'} {'1.985'} {'1.955'} {'2.015'} {'2.015'} {'1.885'}

分开一个字符矢量,数据,其中包含单位多发性硬化症在文本的两边都有任意数量的空白。正则表达式,S *,匹配出现零或更多次的任何空格字符。

数据='1.21M / S1.985M / S 1.955 M / S2.015 M / S 1.885M / s';[C,matches]=strsplit(数据,'\ s * m / s \ s *',...'delimitertype',“常规表达”)
C =1x6单元阵列{'1.21'}{'1.985'}{'1.955'}{'2.015'}{'1.885'}{0x0 char}
火柴=1x5单元阵列{m/s'}{m/s'}{m/s'}{m/s'}{m/s'}

在本例中,中的最后一个字符向量C为空。此空字符向量跟随最后一个匹配的分隔符。

我的路径='C:\work\matlab';C=strsplit(myPath,'\')
C =1x3单元格阵列{'C:'}{'work'}{'matlab'}

分开一个字符矢量' '“不是”,将多个分隔符视为一个分隔符。在字符向量的单元格数组中指定多个分隔符。

str=“西班牙的雨主要在平原上。;[C,matches]=strsplit(str{' ',“不是”},“折叠限位器”,对)
C =1x11单元阵列列1到7 {'the'} {'r'} {'} {'sp'} {'sp'} {'sp'} {'sp'} {'m'} {'m'} {'m'} {'m'} {'ly'}列8到11 {'in'} {'“} {'pl'} {'。'}
火柴=1x10单元阵列列1到7 {''} {'ain'} {''} {'ain'} {'ain'} {'a} {'} {'} {'a} {'a} {'} {''}列8到10 {''} {''} {'} {'ain'}

在空格上分开相同的字符向量和“不是”,使用正则表达式并单独处理多个分隔符。

[C,matches]=strsplit(str{'\ s',“不是”},“折叠限位器”,...错误的'delimitertype',“常规表达”)
C =1x13单元格阵列第1列到第6列{{'r'}{0x0 char}{'in'}{'Sp'}{0x0 char}{'7列到第13列{'m'}{'ly'}{'in'}{'The'}{'pl'}{'
火柴=1x12单元格阵列第1列到第8列{'}{''ain'}{''}{''}{''}{''}{''ain'}第9列到第12列{'}{'}{'}{'}{''ain'}

在这种情况下,,strsplit单独处理两个分隔符,所以空的字符向量出现在输出中C在连续匹配的分隔符之间。

在字符向量上拆分文本',''和'.

str='培根,生菜和番茄';[C,matches]=strsplit(str{',','和'})
C =1x3单元格阵列{‘培根’}{‘生菜’}{‘西红柿’}
火柴=1x2单元格阵列{', '} {', '}

因为命令列出了','第一和'和'包含','这个strsplit函数拆分str在第一个分隔符上,永远不会进入第二分隔符。

如果颠倒分隔符的顺序,'和'优先考虑。

str='培根,生菜和番茄';[C,matches]=strsplit(str{'和',','})
C =1x3单元格阵列{'bacon'} {'lettuce'} {'tomato'}
火柴=1x2单元格阵列{'、'}{'和'}

输入参数

全部收缩

输入文本,指定为字符向量或字符串标量。

数据类型:char|一串

分隔字符,指定为字符向量,一个1.-经过-N字符向量的单元格数组,或者1.-经过-N字符串数组。中指定的文本分隔符不显示在输出中C.

在单元格数组或字符串数组中指定多个分隔符strsplit函数拆分str论构成要件分隔符.分隔符出现的顺序分隔符除非多个分隔符在中的同一字符处开始匹配,否则无所谓str.在这种情况下strsplit在第一个匹配的分隔符上拆分分隔符.

分隔符可以包括以下转义序列:

\

反斜杠

0.

空值

\一种

警报

\ B.

退格

\F

饲料

\ n ..

新线

\ R.

回车

T.

水平标签

\ v.

垂直标签

例子:','

例子:{'-',','}

数据类型:char|细胞|一串

名称值对参数

指定可选的逗号分隔的字符对名称、值论点。名称是参数名和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen.

例子:'delimitertype','scentarexpression'指示strsplit治疗分隔符作为正则表达。

多分隔符处理,指定为逗号分隔对组成“折叠限位器”和任何一个真的或者错误的如果真的,然后是中的连续分隔符str被视为一体。如果错误的,则连续的分隔符被视为单独的分隔符,从而产生空字符向量''匹配分隔符之间的元素。

例子:'pollapaceedelimiters',真实

分隔符类型,指定为逗号分隔对,由'delimitertype'和以下字符向量之一。

'简单的' 除了逃生序列,strsplit对待分隔符作为文本。
“常规表达” strsplit对待分隔符作为正则表达。

在这两种情况下,分隔符可以包括转义序列。

输出参数

全部收缩

原始字符向量的一部分,作为字符向量的单元格数组或字符串数组返回。C始终包含一个以上的元素火柴包含。因此,如果str以分隔符开头,然后是C不包含任何字符。如果str以分隔符为止,然后是最后一个单元格C不包含任何字符。

识别的分隔符,作为字符向量的单元格数组或作为字符串数组返回。火柴始终包含比输出更少的元素C包含。如果str是字符向量或字符向量的小区数组,然后火柴是一个小区阵列。如果str是一个字符串数组,然后是火柴是一个字符串数组。

提示

  • 从R2016b开始分裂建议使用函数拆分字符串数组的元素。

在R2013A介绍