嵌套的索引在一行命令
8视图(30天)
显示旧的评论
是否可以提取不同的数据在以下结构使用一行命令字符串?
经验={乔治:A5 = = BB,…
安娜:C3 = = DD,…
史密斯:E2 = = FFF,…
“肯:八国集团= = HHHH’字符};
例如,最明显的方法来提取HHHH如下:字符
mystr1 =分裂(exp(结束),':',2);
mystr2 =分裂(mystr1 (:, 2), ' = = ', 2);
mystr2(结束)
你能建议一行命令提取HHHH ?字符请注意所有的名字,右手和左手的方程可以用不同的长度或任何字符。只:= =字符不变。代码应该是普遍意义它应该提取任何(指数3和1史密斯为C3或索引或索引2和2结束,结束HHHH)字符只使用一行命令。
接受的答案
史蒂文的主
2019年1月14日
利用从鲍勃Nbob答案的评论:
mystr = regexp (exp{}结束,“\ W”,“分裂”);mystr = mystr{}结束;
这是一行(虽然不是一个命令。)
索引的类型被问及不存在,至少没有直接。你
可以
写一个显式的调用
subsref
在一个命令,但在我看来它会比写更清楚这两个命令。有特殊原因需要在一个命令?
答案(1)
Stephen23
2019年1月14日
编辑:Stephen23
2019年1月14日
> > C = {乔治:A5 = = BB的;“安娜:C3 = = DD”;“史密斯:E2 = = FFF”;“肯:八国集团= = HHHH”字符};
> > D = regexp (C,“^ (\ w +): \ s * (\ w +) \ s * = = \ s * (\ w +)”,“令牌”,“一次”);
> > horzcat (D {:})%或VERTCAT,这取决于您的需要。
ans =
[1]=乔治
(2,1)= A5
(3,1)= BB
[1,2]=安娜
(2,2)= C3
[3 2]=弟弟
史密斯[1,3]=
[2、3]= E2
3,3 = FFF
[1,4]=肯
(2、4)=八国集团
(3、4)= HHHH。字符
4评论
沃尔特·罗伯森
2019年1月14日
C = {乔治:A5 = = BB的;“安娜:C3 = = DD”;“史密斯:E2 = = FFF”;“肯:八国集团= = HHHH”字符};
disp (char (regexprep (C,“^ * = = \ s *。”,”)))