Search for individual characters within string
Mostrar comentarios más antiguos
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?
Respuesta aceptada
Más respuestas (2)
Image Analyst
el 17 de Jun. de 2012
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
el 17 de Jun. de 2012
0 votos
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 comentarios
Ole Hansen
el 17 de Jun. de 2012
Image Analyst
el 17 de Jun. de 2012
Isn't the position of the first character always 1 and the position of the second character always 2?
Categorías
Más información sobre Cell Arrays en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!