detecting the existence of alphabetical elements
14 views (last 30 days)
Show older comments
Dear all, I would like to detect whether a string contains an alphabetical letter. A simple way of solving this problem is writing a function such as. But is there any better, more concise and faster way? Can one use, say, regular expressions and if so how?
thanks, Pat.
function flag=detect_alphabet(mystring)
referenceSet={'a','b','c','d',...,'z'};
flag=false;
for ii=1:length(mystring)
if ismember(mystring(ii),referenceSet)
flag=true;
break
end
end
0 Comments
Accepted Answer
More Answers (4)
Jan
on 1 Oct 2012
Edited: Jan
on 1 Oct 2012
flag = any(ismember(mystring, 'a':'z'))
But now I'm lost in the incompatibilities of Matlab versions. Perhaps it must now be:
flag = any(ismember(mystring, char('a':'z')))
Alternatively:
flag = any(mystring >= 'a' & mystring <= 'z')
Or:
flag = any(isstrprop(mystring, 'lower'))
In all cases a loop is not required.
1 Comment
Matt Fig
on 1 Oct 2012
flag = any((str>='A' & str<='Z') | ((str>='a' & str<='z')))
Patrick Mboma
on 1 Oct 2012
1 Comment
Image Analyst
on 1 Oct 2012
Well for what it's worth, I was going to answer isletter() until Matt beat me to it.
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!