- a 6x1 cell array, where each cell is a 1xN char array
- a 6x1 string array (only in R2016b or later)
Calling characters from character arrays
15 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Gokhan Kayan
il 22 Gen 2018
Commentato: Gokhan Kayan
il 22 Gen 2018
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/169292/image.png)
I have an charecter array that contains so many characters and I want to call 4 th character from each row. How can I do it ?
For example consider that I have 6x1 character matrix like
Adana
mersin
hatay
iskenderun
cemre
cebir
I want to call 4 th character of each row and form a new 6x1 matrix with them like
n
s
a
e
r
i
1 Commento
Guillaume
il 22 Gen 2018
What you have is either
This is definitively not a 6x1 character array, which by definition, would have 6 letters vertically and only one letter horizontally.
Risposta accettata
Birdman
il 22 Gen 2018
Modificato: Birdman
il 22 Gen 2018
str='adana mersin hatay iskenderun cemre cebir';
str=regexp(str,'[a-z]*','match');
for i=1:numel(str)
a{i}=str{i}(4);
end
or instead of for loop:
cellfun(@(x) x(4),str)
EDIT:
After Guillaume's warning, different and easier approach for constructing the demo data and solution:
str='adana mersin hatay iskenderun cemre cebir';
str=strsplit(str,' ');
cellfun(@(x) x(4),str)
3 Commenti
Più risposte (1)
Walter Roberson
il 22 Gen 2018
"For example consider that I have 6x1 character matrix like"
No, a 6 x 1 character matrix cannot have multiple characters in the same row. You might have a 6 x 1 string matrix, or you might have a 6 x 1 cell array of characters.
If you have 6 x 10 (or wider) character array A, then A(:,4)
If you have a 6 x 1 cell array of characters or a 6 x 1 string array A then one of the approaches is cellfun(@(S) S(4), A) . In the case of string arrays, another approach is extractBetween(A, 4, 4) {with no loop} -- but note that this would return a 6 x 1 string array with each string being a single character long, so if you wanted the results as 6 x 1 char then you would need to char() the result of the extractBetween()
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!