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 Kommentar

Jan
Jan am 28 Okt. 2016
Bearbeitet: Jan am 28 Okt. 2016
Why does splitting 'abcdsfa_def' at '_' yield 'abc'? I'd expect 'abcdsfa'. 'efg' looks even more strange.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Jan
Jan am 28 Okt. 2016

1 Stimme

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

Weitere Antworten (1)

KSSV
KSSV am 28 Okt. 2016

0 Stimmen

a = { 'abc_def' , 'efg_ghi', 'hig_klm'}
b = cellfun(@(x) x(1:3), a, 'UniformOutput', false)

2 Kommentare

Number of elements before underscore is not all alway three, a = {abcdef_dasf, as_dfafdsa} What to do in this case ?
a = {'abcdef_dasf', 'as_dfafdsa'} ;
b = cell(size(a)) ;
for i= 1:length(a)
t = strsplit(a{i},'_') ;
b{i} = t{1} ;
end
b

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements 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!

Translated by