Calling characters from character arrays
Ältere Kommentare anzeigen

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 Kommentar
Guillaume
am 22 Jan. 2018
What you have is either
- a 6x1 cell array, where each cell is a 1xN char array
- a 6x1 string array (only in R2016b or later)
This is definitively not a 6x1 character array, which by definition, would have 6 letters vertically and only one letter horizontally.
Akzeptierte Antwort
Weitere Antworten (1)
Walter Roberson
am 22 Jan. 2018
2 Stimmen
"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()
1 Kommentar
Gokhan Kayan
am 22 Jan. 2018
Kategorien
Mehr zu Language Support finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!