从 MATLAB 中的字符串的开头和结尾删除 '''

Remove ''' from beginning and end of the strings in MATLAB

我们如何从 MATLAB R2015a 中的元胞数组中的字符串的开头和结尾删除 '''?假设我们有这个元胞数组:

当我们打开其中一个单元格时,我们会看到:

我想将整个元胞数组转换为双精度(数字)。假设输出元胞数组是 final。对所有单元格使用 cellfun(@str2double,final) returns Nanstr2double(final) returns Nan 也是。

PS.

命令提示符中 final 的最后 10 个元素具有以下结构:

 ans = 
    ''2310''
    ''2319''
    ''2313''
    ''2318''
    ''2301''
    ''2302''
    ''2303''
    ''2312''
    ''2304''
    ''2309''

您可以将所有撇号字符替换为空字符,然后将 str2double 应用于元胞数组中的每个单元格。

假设您的单元格存储在 final 中,请执行以下操作:

final_rep = strrep(final, '''', '');
out = cellfun(@str2double, final_rep);

基本上,使用strrep to replace all of the apostrophe characters with nothing, then apply str2double to each cell in your cell array via cellfun

鉴于您上面的示例:

final = {'''2310'''
'''2319'''
'''2313'''
'''2318'''
'''2301'''
'''2302'''
'''2303'''
'''2312'''
'''2304'''
'''2309'''};

我们现在得到这个:

>> out =

        2310
        2319
        2313
        2318
        2301
        2302
        2303
        2312
        2304
        2309

>> class(out)

ans =

double

如你所见,数组的输出是double,符合我们的预期。