Azzera filtri
Azzera filtri

how to convert a column of cells into string?

3 visualizzazioni (ultimi 30 giorni)
when i try my code ( search for a word in a cells of column), i use :
% search for "battery" in column 52th
B=~cellfun('isempty',regexp(alldata(:,52),'BATTERY'))
i got an error : All cells must be strings.
B=~cellfun('isempty',regexp(alldata(:,52),'BATTERY'))
how i can solve this?
note: the column contain a texts but some cells is empty or contain NaN

Risposta accettata

per isakson
per isakson il 19 Mag 2015
Modificato: per isakson il 19 Mag 2015
NaN is double
>> class( nan )
ans =
double
replace Nan by '' (empty string)
>> alldata = {'abc', nan, 'def'}
alldata =
'abc' [NaN] 'def'
>> alldata{ not( cellfun( @ischar, alldata ) ) } = '';
>> alldata
alldata =
'abc' '' 'def'
  2 Commenti
Amr Hashem
Amr Hashem il 19 Mag 2015
how i can do a for loop on a column of cells which some are not string to make them string
per isakson
per isakson il 20 Mag 2015
Modificato: per isakson il 20 Mag 2015
>> alldata{ not( cellfun( @ischar, alldata ) ) } = '';
does that. Why use a loop?
any_string_value = 'abc';
for jj = 1 : length( alldata )
if not( ischar( alldata{jj} ) )
alldata{jj} = any_string_value;
end
end

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings 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