Search for individual characters within string
显示 更早的评论
Say I have:
cell_array={'AX','BY'};
It is easy to manipulate the terms 'AX' and 'BY' (to isolate, sort, identify etc.), but I cannot seem to find an approach to search for the individual components within 'AX' or 'BY'.
I would like to consider each character in the string individually, i.e. 'A' or 'X' in 'AX'. Basically, I want to be able to search for 'A' or 'X' in 'AX' without having to modify 'AX'.
Is that possible?
采纳的回答
更多回答(2 个)
Image Analyst
2012-6-17
Try to adapt this demo code:
% Construct a sample cell array.
cell_array={'AX'; 'BY'; 'CXXYXXYYYX'; 'DYXZZZXXYXZ'};
% Now find X and Y locations for each row.
for k = 1 : size(cell_array, 1)
% For each row in the cell array...
% Get the string inside the cell.
cellContents = cell_array{k}
% Find arrays giving the indexes of X and Y.
xIndexes = strfind(cellContents, 'X')
yIndexes = strfind(cellContents, 'Y')
end
Rui Zhao
2012-6-17
0 个投票
For searching for 'x' in 'AX', you can search the uppercase of input via doing this:
char(double('x') - 32); % translate the 'x' into ASCII number and subtract 32 to get uppercase 'X'.
For searching lowercase, vice versa. char(double('X') + 32);
2 个评论
Ole Hansen
2012-6-17
Image Analyst
2012-6-17
Isn't the position of the first character always 1 and the position of the second character always 2?
类别
在 帮助中心 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!