Splitting the elements in the cell array

20 visualizzazioni (ultimi 30 giorni)
I have a cell array,
a = { abcdsfa_def , ef_ghi, higdsfasfa_klm}
Now i need to remove the each element in the cell array from '_'.
my answer should be a = {abcdsfa, ef, higdsfasfa}
Thanks a lot
  1 Commento
Jan
Jan il 28 Ott 2016
Modificato: Jan il 28 Ott 2016
Why does splitting 'abcdsfa_def' at '_' yield 'abc'? I'd expect 'abcdsfa'. 'efg' looks even more strange.

Accedi per commentare.

Risposta accettata

Jan
Jan il 28 Ott 2016
While this does not match the shown output, it matches your explanations:
a = {'abcdsfa_def', 'ef_ghi', 'higdsfasfa_klm'}
r = strtok(a, '_')

Più risposte (1)

KSSV
KSSV il 28 Ott 2016
a = { 'abc_def' , 'efg_ghi', 'hig_klm'}
b = cellfun(@(x) x(1:3), a, 'UniformOutput', false)
  2 Commenti
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan il 28 Ott 2016
Number of elements before underscore is not all alway three, a = {abcdef_dasf, as_dfafdsa} What to do in this case ?
KSSV
KSSV il 28 Ott 2016
a = {'abcdef_dasf', 'as_dfafdsa'} ;
b = cell(size(a)) ;
for i= 1:length(a)
t = strsplit(a{i},'_') ;
b{i} = t{1} ;
end
b

Accedi per commentare.

Categorie

Scopri di più su Data Types in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by