我有一个由细胞组成的结构。我想删除每个单元格的开头和最后的所有空格,我想保留单元格中文本之间的所有空格。所以,如果我有
s = ' bbb b bbbb '
我想获得
s = 'bbb b bbbb'
我想将此方法应用于此结构中的未知数量的单元格(例如2x3),可能使用循环。有谁知道怎么做?我失败了regexp
。
答案 0 :(得分:5)
您可以将strtrim()
与structfun()
和单元格索引结合使用:
your_struct = structfun(@(x) strtrim(x{1}), your_struct);
这仅适用于您的结构具有类似
的布局your_struct.a = {' some string '};
your_struct.b = {' some other string '};
...
如果它有不同的结构,比如说,
your_struct.a = { {' some string '}
{' some other string '}};
your_struct.b = { {' again, some string '}
{' again, some other string '}};
...
你可以尝试
your_struct = structfun(@(x) ...
cellfun(@strtrim, x, 'uni', false), ...
your_struct, 'uni', false);
答案 1 :(得分:0)
如果您的矩阵名为a,请执行:
newmatrix = cellfun(@strtrim, a, 'UniformOutput', false)
答案 2 :(得分:0)
如果A
是包含单元格的结构,那么您可以这样做:
New_A=structfun(@strtrim,A,'UniformOutput',false)
答案 3 :(得分:0)
strtrim并不总是照顾我的字符串结尾,所以我使用deblank
所以如果strtrim没有做你想做的一切,你可以将它与deblank一起使用来获得你想要的东西。