detecting the existence of alphabetical elements

15 visualizaciones (últimos 30 días)
Patrick Mboma
Patrick Mboma el 1 de Oct. de 2012
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

Respuesta aceptada

Matt Fig
Matt Fig el 1 de Oct. de 2012
Editada: Matt Fig el 1 de Oct. de 2012
Perhaps best of all:
str = 'adsf2342adsfwerreoj9f3f';
str2 = '23423';
flag = any(isletter(str))
flag = any(isletter(str2))

Más respuestas (4)

Oleg Komarov
Oleg Komarov el 1 de Oct. de 2012
regexpr(str,'[a-zA-Z]')

Matt Fig
Matt Fig el 1 de Oct. de 2012
Editada: Matt Fig el 1 de Oct. de 2012
str = 'adsf2342adsfwerreoj9f3f';
str2 = '23423';
flag = ~isempty(regexp(str,'[A-Za-z]'))
flag = ~isempty(regexp(str2,'[A-Za-z]'))

Jan
Jan el 1 de Oct. de 2012
Editada: Jan el 1 de Oct. de 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.

Patrick Mboma
Patrick Mboma el 1 de Oct. de 2012
Dear all, thank you SO much for a prompt reply. I now have many suggestions but don't know which one is the best. I will test them all and see, which one works best.
  1 comentario
Image Analyst
Image Analyst el 1 de Oct. de 2012
Well for what it's worth, I was going to answer isletter() until Matt beat me to it.

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by