Tables: Create new variables by modifying existing ones

Dear All,
I have a table and I would like to create new variables (columns) by modfying existing ones. I have seen examples where poeple apply functions, but these were typically restricted to numerical operations. Supoose I have the following table:
A B C
obs1 te:st X
obs2 test Y
I would like to create
A B C D
obs1 te:st X testX
obs2 test Y testY
So:
  1. Drop special characters (":")
  2. Append two string columns.
Can anyone help me out?
Thanks in advance!

 Réponse acceptée

Guillaume
Guillaume le 19 Mai 2016
Modifié(e) : Guillaume le 19 Mai 2016
Use regexprep to replace patterns (with empty strings in your case), and strcat to concatenate cell arrays of strings:
t = cell2table({'obs1', 'te:st', 'X'; 'obs2', 'test', 'Y'}, 'VariableNames', {'A', 'B', 'C'})
t.D = strcat(regexprep(t.B, '\W', ''), test.C)
The regular expresion I've used will drop any character other than [a-ZA-Z0-9_]

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by