文字列を文字数で切り取り、セル配列または何かとして返す組み込み関数がMatlabにありますか。たとえば、call A = some_function(string, 3) の場合:
Input: string = '1234567890'
Output: A = {'123', '456', '789', '0'}
またはループを使用する必要がありますか?
ありがとう。
(私の意見では)もう少しエレガントな代替ソリューションは、次を使用しregexp
ます。
A = regexp(str, sprintf('\\w{1,%d}', n), 'match')
はstr
文字列でn
、文字数です。
>> regexp('1234567890', '\w{1,3}', 'match')
ans =
'123' '456' '789' '0'
少し長いかもしれません:
ns = numel(string);
n = 3;
A = cellstr(reshape([string repmat(' ',1,ceil(ns/n)*n-ns)],n,[])')'