如何matlab字符串不规则分割?

我有一组数据$GPGGA,022617.54,3852.02191947,N,12131.29217404,E,5,05,3.1,19.980,M,4.395,M,1.5,0000*44
我想把它分成一个一维数组;以逗号为分界点,用matlab怎么做?

data = '$GPGGA,022617.54,3852.02191947,N,12131.29217404,E,5,05,3.1,19.980,M,4.395,M,1.5,0000*44'
C = strsplit(data,', ')
就可以了。
不过你要求的“一个一维数组”恐怕不能满足。每一个字符串本身就是一个一维数组,要表示多个字符串至少是二维数组或者其他更复杂的结构。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-21
clear
clc

S='$GPGGA,022617.54,3852.02191947,N,12131.29217404,E,5,05,3.1,19.980,M,4.395,M,1.5,0000*44'

index=find(S==',')';
a=ones(numel(index)+1,1);

SS=cell(numel(index)+1,1);

IS=[num2str([1;index+1]),a*':',num2str([index-1;numel(S)])];
ISS=num2str((1:numel(index)+1)');

%[a*'SS{',ISS,a*'}=S(',IS,a*');']
eval([a*'SS{',ISS,a*'}=S(',IS,a*');']')
SS
% celldisp(SS)本回答被提问者采纳
相似回答