MATLAB:如何删除结构体中表格第二列首尾的多余单引号字符
MATLAB删除表格列首尾单引号操作方法
1. 加载.mat文件
执行代码将目标文件加载到工作区:load('faceDatasetGroundTruth.mat')
加载完成后即可调用结构体内部的faceDataset两列表格。
2. 移除第二列首尾单引号
根据第二列的数据类型选择对应处理代码:
- 若第二列为cell型字符数组:
faceDataset{:,2} = cellfun(@(x) strip(x, ''''), faceDataset{:,2}, 'UniformOutput', false);
- 若第二列为string字符串数组:
faceDataset{:,2} = strip(faceDataset{:,2}, '''');
低版本MATLAB兼容方案
若所用MATLAB版本不支持strip函数,可改用正则表达式实现:
faceDataset{:,2} = cellfun(@(x) regexprep(x, '^''|''$', ''), faceDataset{:,2}, 'UniformOutput', false);
3. 可选:将坐标字符串转为数值数组
如果你需要将[95,71,226,313]这类字符串格式的坐标转为可计算的数值数组,可追加执行以下代码:
faceDataset{:,2} = cellfun(@str2num, faceDataset{:,2}, 'UniformOutput', false);
4. 验证处理结果
执行代码查看表格前几行,确认单引号已被移除:head(faceDataset)
内容的提问来源于stack exchange,提问作者Yonathan
相关产品推荐
相关产品推荐

