如何將一個字符串拆分爲一個子字符串列表,其中要拆分的分隔符是一個MATLAB對象類型?拆分給定對象類型分隔的字符串
例如:
>> splitByType('a1b2c3',type=integer)
['a','b','c']
或:
>> splitByType('a1b2c3',type=character)
['1','2','3']
如何將一個字符串拆分爲一個子字符串列表,其中要拆分的分隔符是一個MATLAB對象類型?拆分給定對象類型分隔的字符串
例如:
>> splitByType('a1b2c3',type=integer)
['a','b','c']
或:
>> splitByType('a1b2c3',type=character)
['1','2','3']
我不知道你所說的MATLAB對象類型的意思。對於整數,你可以使用:
a='a1b2c'
regexp(a,'[0-9]+','split')
,輸出:
ans =
'a' 'b' 'c'
另一種方法是:
regexp(a,'\d+','split')
輝煌分隔的那些子字符串的列表!乾杯 –
你通過將相應的正則表達式尋找regexp()
的類型:
regexp('a1b2c','\d+','split') % or use '[0-9]+'
regexp('a1b2c','[a-z]+','split')
我會去與regexp
回答,如果你是舒服的正則表達式,但你也可以使用strsplit
包含字符串的單元陣列可能的分隔符:
strsplit(a,cellstr(num2str((0:9)'))') % digits
strsplit(a,cellstr(char([65:90 97:122])')') % word characters
此外,strsplit
有一個正則表達式模式(奇怪的!爲什麼你會使用這種過度regexp
):
strsplit(a,'\d+','delim','reg') % one or more digits
strsplit(a,'\w+','delim','reg') % one or more word characters
,對等同regexp(a,'\d+','split')
和regexp(a,'\w+','split')
。
你能舉出更多的例子嗎? – thewaywewalk
我已經添加了一個新的例子,嗯..基本上,如果我想要的子字符串由整數類型的字符分隔,我會得到由整數 –