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

5 ビュー (過去 30 日間)
012786534
012786534 2019 年 10 月 28 日
編集済み: Guillaume 2019 年 10 月 28 日
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,

採用された回答

Daniel M
Daniel M 2019 年 10 月 28 日
t{:,index} = regexprep(t{:,index},'\[\]','-99')

その他の回答 (1 件)

Guillaume
Guillaume 2019 年 10 月 28 日
編集済み: Guillaume 2019 年 10 月 28 日
One easy way:
missinglocs = ismissing(t, '[]');
newt = fillmissing(t, 'constant', '-99', 'DataVariables', startsWith(t.Properties.VariableNames, 'Q_'), 'MissingLocations', missinglocs)

カテゴリ

Help Center および File ExchangeWhos についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by