come to convert words into cell array

조회 수: 2 (최근 30일)
Luca Re
Luca Re 2024년 10월 21일
편집: Stephen23 2024년 10월 21일
g='Eb=3;bb=5;'
g = 'Eb=3;bb=5;'
i want to create arraycell as similar
S={'Eb',3;'bb',5}
S = 2x2 cell array
{'Eb'} {[3]} {'bb'} {[5]}
(';' is used to insert a new symbol

채택된 답변

Stephen23
Stephen23 2024년 10월 21일
편집: Stephen23 2024년 10월 21일
g = 'Eb=3;bb=5;';
C = textscan(g,'%s%f', 'Delimiter','=', 'EndOfLine',';')
C = 1x2 cell array
{2x1 cell} {2x1 double}
C = [C{1},num2cell(C{2})] % not the best way to store this data
C = 2x2 cell array
{'Eb'} {[3]} {'bb'} {[5]}

추가 답변 (1개)

Manish
Manish 2024년 10월 21일
편집: Manish 2024년 10월 21일
Hi,
I understand that you want to convert the variable‘ginto a cell array‘S.
You can achieve this by splitting the string using‘strsplit’ functionand adding the result to the cell array.
Here is the code implementation:
g = 'Eb=3;bb=5;';
parts = strsplit(g, ';');
S = {};
for i = 1:length(parts)-1
varValue = strsplit(parts{i}, '=');
% Add to cell array
S{i, 1} = varValue{1};
S{i, 2} = str2double(varValue{2});
end
disp(S);
{'Eb'} {[3]} {'bb'} {[5]}
Here is the documentation link for ‘strsplit’:
Hope this solves!

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by