我有一根绳子
S='ABACBADECAEF'
如何在该字符串中的每两个字符之间插入空格。支出的产出应是:
Out_S= 'AB AC BA DE CA EF'
发布于 2015-08-13 02:52:26
有几种方法你可以做到。所有这些方法都假设您的字符串长度是 甚至 。如果您有一个奇数字符数量,那么最后一对字符不能分组成一对,所以下面的任何方法都会给您一个维度不匹配或超出界限的错误。
方法1-分裂成单元格,然后使用
strjoin
第一种方法是将字符串分解为单个单元格,然后使用空格通过
strjoin
连接它们:
Scell = mat2cell(S, 1, 2*ones(1,numel(S)/2));
Out_S = strjoin(Scell, ' ');
我们得到:
Out_S =
AB AC BA DE CA EF
方法2-正则表达式
您可以使用正则表达式来计算每个令牌的确切字符数,然后在每个令牌的末尾插入一个空格,如果末尾恰好有空格,则在末尾修剪任何空白:
Out_S = strtrim(regexprep(S, '.{2}', '$0 '));
我们得到:
Out_S =