Matlab strsplit函数语法

一句话说明: Split string at specified delimiter

strsplit

Split string at specified delimiter

Syntax

  • C = strsplit(str) example
  • C = strsplit(str,delimiter) example
  • C = strsplit(str,delimiter,Name,Value) example
  • [C,matches] = strsplit(___) example

Description

example

C = strsplit(str) splits the string, str, at whitespace into the cell array of strings, C. A whitespace character is equivalent to any sequence in the set {' ','\f','\n','\r','\t','\v'}.

example

C = strsplit(str,delimiter) splits str at the delimiters specified by delimiter.

example

C = strsplit(str,delimiter,Name,Value) specifies additional delimiter options using one or more name-value pair arguments.

example

[C,matches] = strsplit(___) additionally returns a cell array of strings, matches, using any of the input arguments in the previous syntaxes. matches contains all occurrences of delimiters upon which strsplit splits str.

Examples

Split String on Whitespace

str = 'The rain in Spain.';
C = strsplit(str)
C = 

    'The'    'rain'    'in'    'Spain.'

C is a cell array containing 4 strings.

Split String of Values on Specific Delimiter

Split a string of comma-separated values.

data = '1.21, 1.985, 1.955, 2.015, 1.885';
C = strsplit(data,', ')
C = 

    '1.21'    '1.985'    '1.955'    '2.015'    '1.885'

Split a string of values, data, which contains the units m/s with an arbitrary number of white-space on either side of the text. The regular expression, \s*, matches any white-space character appearing zero or more times.

data = '1.21m/s1.985m/s 1.955 m/s2.015 m/s 1.885m/s';
[C,matches] = strsplit(data,'\s*m/s\s*',...
    'DelimiterType','RegularExpression')
C = 

    '1.21'    '1.985'    '1.955'    '2.015'    '1.885'    ''


matches = 

    'm/s'    'm/s '    ' m/s'    ' m/s '    'm/s'

In this case, the last string in C is empty. This empty string is the string that follows the last matched delimiter.

Split Path String on File Separator

myPath = 'C:\work\matlab';
C = strsplit(myPath,'\')
C = 

    'C:'    'work'    'matlab'

Split Text String with Multiple Delimiters

Split a string on ' ' and 'ain', treating multiple delimiters as one. Specify multiple delimiters in a cell array of strings.

str = 'The rain in Spain stays mainly in the plain.';
[C,matches] = strsplit(str,{' ','ain'},'CollapseDelimiters',true)
C = 

    'The'    'r'    'in'    'Sp'    'stays'    'm'    'ly'    'in'    'the'    'pl'    '.'


matches = 

    ' '    'ain '    ' '    'ain '    ' '    'ain'    ' '    ' '    ' '    'ain'

Split the same string on whitespace and on 'ain', using regular expressions and treating multiple delimiters separately.

[C,matches] = strsplit(str,{'\s','ain'},'CollapseDelimiters',...
    false, 'DelimiterType','RegularExpression')
C = 

    'The'    'r'    ''    'in'    'Sp'    ''    'stays'    'm'    'ly'    'in'    'the'    'pl'    '.'


matches = 

    ' '    'ain'    ' '    ' '    'ain'    ' '    ' '    'ain'    ' '    ' '    ' '    'ain'

In this case, strsplit treats the two delimiters separately, so empty strings appear in output Cbetween the consecutively matched delimiters.

Split Text with Multiple, Overlapping Delimiters

Split text on the strings ', ' and ', and '.

str = 'bacon, lettuce, and tomato';
[C,matches] = strsplit(str,{', ',', and '})
C = 

    'bacon'    'lettuce'    'and tomato'


matches = 

    ', '    ', '

Because the command lists ', ' first and ', and ' contains ', ', the strsplit function splits stron the first delimiter and never proceeds to the second delimiter.

If you reverse the order of delimiters, ', and ' takes priority.

str = 'bacon, lettuce, and tomato';
[C,matches] = strsplit(str,{', and ',', '})
C = 

    'bacon'    'lettuce'    'tomato'


matches = 

    ', '    ', and '
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值