将空格插入char数组

Luk*_*don 5 arrays string matlab char

我有字符的char数组(向量),我想按特定顺序插入空格.

比如我有

 ['A','B','C','D','E','F','G','H','J','K','L','M','N','O']
Run Code Online (Sandbox Code Playgroud)

和矢量与白色空间的索引

[7 12] % white spaces should be add to 7 and 12 indexes (original string)
Run Code Online (Sandbox Code Playgroud)

并希望拥有

 ['A','B','C','D','E','F',' ','G','H','J','K', 'L', ' ','M','N','O']
Run Code Online (Sandbox Code Playgroud)

有一些内置功能吗?我开始使用嵌套循环来itarate数组和instert'',但它看起来很难看.

gno*_*ice 5

如果您的向量中有索引,您希望插入空格,则可以执行以下操作:

>> str = 'ABCDEFGHJKLMNO';                %# Your string
>> index = [7 12];                        %# Indices to insert blanks
>> index = index+(0:numel(index)-1);      %# Adjust for adding of blanks
>> nFinal = numel(str)+numel(index);      %# New length of result with blanks
>> newstr = blanks(nFinal);               %# Initialize the result as blanks
>> newstr(setdiff(1:nFinal,index)) = str  %# Fill in the string characters

newstr =

ABCDEF GHJKL MNO
Run Code Online (Sandbox Code Playgroud)