Azzera filtri
Azzera filtri

How to replace a string with another string in specific table columns

6 visualizzazioni (ultimi 30 giorni)
Hello,
Im trying to replace all [] with '-99' only in the columns that begin with Q_ in the table t below. How would I do that with an index ? Its important that I dont use the variables names.
% data
Q_x = {'1'; '[]'; '3'};
a = {'A'; 'B'; 'C'};
o = {'A'; '[]'; 'C'};
Q_y = {'1'; '[]'; '3'};
t = table(Q_x, a, o, Q_y)
all_vars = t.Properties.VariableNames;
index = find(strncmp(all_vars, 'Q_', 2));
Thank you,

Risposta accettata

Daniel M
Daniel M il 28 Ott 2019
t{:,index} = regexprep(t{:,index},'\[\]','-99')

Più risposte (1)

Guillaume
Guillaume il 28 Ott 2019
Modificato: Guillaume il 28 Ott 2019
One easy way:
missinglocs = ismissing(t, '[]');
newt = fillmissing(t, 'constant', '-99', 'DataVariables', startsWith(t.Properties.VariableNames, 'Q_'), 'MissingLocations', missinglocs)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by