String array of the letters of the alphabet

38 views (last 30 days)
Is there a compact way to generate a string array with the letters of the English alphabet?
alphabet = ["a","b", .., "z"]

Accepted Answer

Voss
Voss on 10 Feb 2023
Edited: Voss on 10 Feb 2023
string(('a':'z').').'
ans = 1×26 string array
"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"

More Answers (1)

John D'Errico
John D'Errico on 10 Feb 2023
alf = 'a':'z'
alf = 'abcdefghijklmnopqrstuvwxyz'
It also works for caps.
ALF = 'A':'Z'
ALF = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  2 Comments
the cyclist
the cyclist on 10 Feb 2023
Thanks, but two issues:
  • I want a string array, not a character array
  • I want 26 elements, each with one letter (not a single string with all letters)
John D'Errico
John D'Errico on 10 Feb 2023
The obvious is:
alf = string('a':'z')
alf = "abcdefghijklmnopqrstuvwxyz"
That makes a string array, but you wanted a set of scalar string arrays. So then I see that this will create the desired string array.
string({'a' 'b'})
ans = 1×2 string array
"a" "b"
And that means you can use mat2cell.
string(mat2cell('a':'z',1,ones(1,26)))
ans = 1×26 string array
"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
It feels a little kludgy. But it works. There may be a better way. If so, I'll probably think of it as soon as I click on submit.

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!