有可能扩大[45 0 {9},{2},{9}]0
1视图(30天)
显示旧的评论
接受的答案
图像分析
2016年8月9日
如果你从那个特殊格式的字符串,那么这段代码将解析它并产生输出向量
str =(-45 _{2},120、90、60、120、90、-45、90、-45、60、90 _{2},45岁,120年,90年,120年,60岁,30岁,45岁,120年,45岁的90年,60岁,30岁,45岁,30 _{3},120年60 _ {2},30)”
%去掉括号
str (str = =“(”)= [];
str (str = =“]”)= [];
话说= strsplit (str,”、“)
输出= [];
为k = 1:长度(单词)
%看看有一个支撑
thisWord =话说{k}
braceLocation = strfind (thisWord,“{”);
如果isempty (braceLocation)
%没有支撑。
=纯str2double (thisWord);
theRepeat = 1;
其他的
%有支撑。
次数= str2double (thisWord (1: braceLocation-2));
theRepeat = str2double (thisWord (braceLocation + 1: end-1));
结束
流(“重复% d % d次。\ n”纯,theRepeat);
%重复这个所需数量的次数和附加到输出。
输出=[输出,数字*的(theRepeat)];
结束
% Echo命令窗口:
输出
更多的答案(3)
肖恩·德Wolski
2016年8月9日
这应该这样做:
str =(45 0 {9},{2},{9}0)';
expr =”(? < num > \ d *)”;%匹配数字
num = cellfun (@str2double regexp (expr str,“匹配”));%提取和转换
repelem (num(1:2:结束),num(2:2:结束)% repelem