Extracting text from a cell

38 visualizaciones (últimos 30 días)
joseph Frank
joseph Frank el 24 de Jul. de 2013
A='00003H102'
How can I write a code to extract the first 6 letters and numbers. i.e. I want B='00003H';
  1 comentario
Jan
Jan el 24 de Jul. de 2013
Editada: Jan el 24 de Jul. de 2013
@joseph: From the comments later on we see, that your data are not A='00003H102', but that you talk of a cell string. Please care for posting the real input data, because posting wrong answers for wrong inputs wastes your and our time. Thanks.
What is the wanted result, when the string has less than 6 characters?

Iniciar sesión para comentar.

Respuestas (3)

Azzi Abdelmalek
Azzi Abdelmalek el 24 de Jul. de 2013
Editada: Azzi Abdelmalek el 24 de Jul. de 2013
A='00003H102'
A(1:6)
If you have a cell array
A={'00003H102','00003H103','00003H104'}
B=cellfun(@(x) x(1:6),A,'un',0)
  5 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 24 de Jul. de 2013
Yes it's possible
Azzi Abdelmalek
Azzi Abdelmalek el 24 de Jul. de 2013
A={'00003H102','00003H103','00003H104','00003'}
idx=cellfun(@(x) min(numel(x),6),A,'un',0)
B=cellfun(@(x,y) x(1:y),A,idx,'un',0)

Iniciar sesión para comentar.


Azzi Abdelmalek
Azzi Abdelmalek el 24 de Jul. de 2013
A={'00003H102','00003H103','00003H104','00003' []}
B=cellfun(@(x) x(1:min(numel(x),6)),A,'un',0)

Andrei Bobrov
Andrei Bobrov el 24 de Jul. de 2013
Editada: Andrei Bobrov el 24 de Jul. de 2013
B = regexp(A,'^.{0,6}','match')
B = cat(1,B{:});

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by