每个单元格如下所示: 日期23 / 4-2015 支持编号8 我如何删除空格?
我还必须提取音量。这更加困难,因为音量的线索从一个pdf到另一个不同,因此我创建了一个搜索功能,它可以工作并创建音量,这是为一个看起来像这样的浴室创建的:
[233.4 452.2 94.6]
我只需要中间数,所以如何将其创建为矩阵? 请记住,这是一个1x1的单元格,有空格!
希望你们中的一些人可以帮助我。答案 0 :(得分:0)
对于第一个问题,您可以通过搜索字符行并使用strcmp
标识空格来删除空格,然后将字符串的这些元素设置为空([]
)。以下是代码示例:
% number of character
N = length(my_string);
% character to remove (initialize all 0)
icut = zeros(1,N);
% check each character
for i = 1:N;
% if character is a space, tag for removal
if strcmp(my_string(i),' ');
icut(i) = 1;
end
end
% remove space characters
my_string(icut == 1) = [];
对于第二个问题,您可以将单元格的内容转换为数字数组,然后只需取第二个元素。
% convert the cell contents to an array of numbers
cell_array = str2num(my_cell{1});
% get the middle value
middle_value = cell_array(2);
这假设单元格包含值数组作为字符串,如my_cell = {'[233.4 452.2 94.6]'};
。
答案 1 :(得分:0)
您可以使用strrep
从字符串中删除空格。这适用于包含字符串或cell
数组的char
,并返回与其应用的相同对象类型。如果您将cell
传递给strrep
,则会返回cell
,如果您传入char
数组,则会返回char
数组。
>> C = {'Date 23/4-2015 Repportnumber 8'};
>> strrep(C, ' ', '') % Cell containing string (char array)
ans =
'Date23/4-2015Repportnumber8'
>> strrep(C{1}, ' ', '') % String (char array)
ans =
Date23/4-2015Repportnumber8
要将版本单元格数组转换为矩阵,您可以使用str2num
。然后,您可以使用线性索引来提取正确的版本。
>> C = {'[233.4 452.2 94.6]'};
>> C = str2num(C{1});
>> C(2)
ans =
452.2000