从 MATLAB 中的字符串的开头和结尾删除 '''
Remove ''' from beginning and end of the strings in MATLAB
我们如何从 MATLAB R2015a 中的元胞数组中的字符串的开头和结尾删除 '''
?假设我们有这个元胞数组:
当我们打开其中一个单元格时,我们会看到:
我想将整个元胞数组转换为双精度(数字)。假设输出元胞数组是 final
。对所有单元格使用 cellfun(@str2double,final)
returns Nan
。 str2double(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
,符合我们的预期。
我们如何从 MATLAB R2015a 中的元胞数组中的字符串的开头和结尾删除 '''
?假设我们有这个元胞数组:
当我们打开其中一个单元格时,我们会看到:
我想将整个元胞数组转换为双精度(数字)。假设输出元胞数组是 final
。对所有单元格使用 cellfun(@str2double,final)
returns Nan
。 str2double(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
,符合我们的预期。