我有一些字符串由管道(和句点)分隔,我尝试使用MATLAB正则表达式进行拆分:
m = 'mari|bersenang|senang.jpg';
在第一步中,我通过管道分割该字符串,所以最后有一个字符串senang.jpg
。在第二步中,我按周期分割这个字符串。但结果与我在第一步中得到的结果不同。在第一步中,输出只是一个包含字符串的单元格。但是在第二步中,单元格内部的单元格用于从正则表达式函数中包装出口。我不明白这是怎么发生的?因为如果我直接分割字符串senang.jpg
(而不是在第一步中从正则表达式函数的输出中分割),则输出看起来很正常。
这是我的完整脚本:
clear all ;
clc;
m = 'mari|bersenang|senang.jpg';
hasil = regexp(m, '\|', 'split');
hasil % result a cell
test = hasil(end)
hasil = regexp(test, '\.', 'split');
hasil % result a cell inside a cell
hasil{1} % result a cell
hasil{1}{2} % get content of a cell
test = 'senang.JPG';
hasil = regexp(test, '\.', 'split');
hasil % output just a cell
注意:我使用MATLAB 2009a
答案 0 :(得分:3)
替换
test = hasil(end)
通过
test = hasil{end}; %// note curly braces
那样test
是一个字符串,而不是包含字符串的单元格。