Вы действительно можете применить strsplit
к каждой из строк (массивов символов) в массиве ячеек.Для этого вы можете использовать cellfun
:
c{1} = '0.9VA = 1.012207';
c{2} = '0.9VA_CLK = 0.020752';
c{3} = 'CSIPhgenSWoffList = [0, 0, 0, 0]';
c{4} = 'SomethingElse = [0.020752, 0.24564]';
c = cellfun(@(x)strsplit(x,'='),c,'UniformOutput',false);
c = cat(1,c{:});
Я использую небольшой примерный массив ячеек c
, содержащий четыре строки, надеюсь, это представительно.Я применяю strplit
к каждой ячейке в c
, используя cellfun(x,'=')
, которая разделяется на знак равенства и возвращает массив ячеек с массивами ячеек.То есть каждая строка в c
превращается в массив ячеек с 2 строками (например, '0.9VA '
и ' 1.012207'
. Это оставляет некоторые пробелы в начале и конце строк.
Следующаястрока, cat
, преобразует этот массив ячеек массивов ячеек в двумерный массив ячеек. Окончательный результат - это массив ячеек c
, содержащий то же количество строк, что и исходный массив ячеек, и 2 столбца. Первыйстолбец соответствует части перед знаком равенства, второй столбец - части после знака равенства.
Чтобы удалить пробелы, можно снова использовать cellfun
с strtrim
:
c = cellfun(@strtrim,c,'UniformOutput',false);