Extracting text from a cell
Ältere Kommentare anzeigen
A='00003H102'
How can I write a code to extract the first 6 letters and numbers. i.e. I want B='00003H';
1 Kommentar
@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?
Antworten (3)
Azzi Abdelmalek
am 24 Jul. 2013
Bearbeitet: Azzi Abdelmalek
am 24 Jul. 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 Kommentare
joseph Frank
am 24 Jul. 2013
joseph Frank
am 24 Jul. 2013
Narges M
am 24 Jul. 2013
ofcourse there is. have 6 be a variable: var = 6. then use an if-statement to change the value in var, in case the length of the current row is less than 6.
Azzi Abdelmalek
am 24 Jul. 2013
Yes it's possible
Azzi Abdelmalek
am 24 Jul. 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)
Azzi Abdelmalek
am 24 Jul. 2013
A={'00003H102','00003H103','00003H104','00003' []}
B=cellfun(@(x) x(1:min(numel(x),6)),A,'un',0)
Andrei Bobrov
am 24 Jul. 2013
Bearbeitet: Andrei Bobrov
am 24 Jul. 2013
B = regexp(A,'^.{0,6}','match')
B = cat(1,B{:});
Kategorien
Mehr zu Characters and Strings 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!