2015-06-28 3 views
0

У меня есть строка: str = 'HDEABGCF'. Как я могу создать новые пары, которые со второго сочетаются с третьими элементами, четвертый с пятым, шестой - с седьмым?Создать новые пары на основе строки (Matlab)

Ожидаемый результат должен быть: результат = { 'DE'; 'AB', 'GC'}

Спасибо!

+0

возможно дубликат [Разделение строки по количеству символов] (MATLAB http://stackoverflow.com/questions/15691857/splitting-string-by-number-of-characters-matlab) – alexforrence

ответ

1

Вы можете использовать arrayfun и гарантировать, что вы начнете со второго индекса массива строк, идущего ко второму последнему индексу с шагом 2. Для каждого индекса вы должны получить доступ к строке в текущем индексе и следующем индекс после этой точки, то убедитесь, что выход представляет собой массив ячеек, используя uni=0 флаг:

>> str='HDEABGCF'; 
>> result = arrayfun(@(x) str([x x+1]), 2:2:numel(str)-1, 'uni', 0); 
>> result 

result = 

    'DE' 'AB' 'GC' 
+1

Спасибо! @rayryeng – kgk

Смежные вопросы