Effacer les filtres
Effacer les filtres

How to convert a 1x1 table coining a list of N names into a Nx1 string of names

2 vues (au cours des 30 derniers jours)
Nicola Scafetta
Nicola Scafetta le 28 Mai 2024
Commenté : Dyuman Joshi le 28 Mai 2024
I have a 1x1 table T element which contains several names as the following
T = { 'Aaaa; Bbbb; Cccc; Dddd' }
I would like to convert it into a 4x1 string array of 4 names as
TT = ["Aaaa" ; "Bbbb" ; "Cccc" ; "Dddd"]
so that TT(1)="Aaaa", etc.
how can I do it?

Réponses (1)

Lokesh
Lokesh le 28 Mai 2024
Modifié(e) : Lokesh le 28 Mai 2024
Hi Nicola,
It appears that T is a cell array containing a single string. To achieve the conversion to a 4x1 string array 'TT' as described, you can follow these steps in MATLAB:
  1. Extract the string from the cell array: First, access the string stored in the cell array 'T'.
  2. Split the string: Use the 'split' function to split the string into parts based on the semicolon delimiter. Since the input is a character vector, the output of 'split' will be a cell array of character vectors.
  3. Convert to a string array: Finally, convert the cell array of character vectors to a string array.
Here's how you can do it:
% Given cell array T
T = {'Aaaa; Bbbb; Cccc; Dddd'};
% Extract the string from the cell array
str = T{1};
% Split the string into parts based on the semicolon
parts = split(str, '; ');
% Convert the cell array of character vectors to a string array
TT = string(parts);
% If you need TT to be a 4x1 column vector explicitly
TT = reshape(TT, [], 1);
Refer to the following documentation to know more about 'split':
  1 commentaire
Dyuman Joshi
Dyuman Joshi le 28 Mai 2024
Your code has a bit of redundancy. Here's a cleaned up version -
T = {'Aaaa; Bbbb; Cccc; Dddd'};
out = string(split(T, '; '))
out = 4x1 string array
"Aaaa" "Bbbb" "Cccc" "Dddd"
Check the output after each operation you perform and you will catch the redundancies.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by