首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在字符串中插入空格(Matlab)

在字符串中插入空格(Matlab)
EN

Stack Overflow用户
提问于 2015-08-13 02:38:15
回答 1查看 5.3K关注 0票数 3

我有一根绳子

代码语言:javascript
复制
   S='ABACBADECAEF'

如何在该字符串中的每两个字符之间插入空格。支出的产出应是:

代码语言:javascript
复制
 Out_S= 'AB AC BA DE CA EF' 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-13 02:52:26

有几种方法你可以做到。所有这些方法都假设您的字符串长度是甚至。如果您有一个奇数字符数量,那么最后一对字符不能分组成一对,所以下面的任何方法都会给您一个维度不匹配或超出界限的错误。

方法1-分裂成单元格,然后使用strjoin

第一种方法是将字符串分解为单个单元格,然后使用空格通过strjoin连接它们:

代码语言:javascript
复制
Scell = mat2cell(S, 1, 2*ones(1,numel(S)/2));
Out_S = strjoin(Scell, ' ');

我们得到:

代码语言:javascript
复制
Out_S =

AB AC BA DE CA EF

方法2-正则表达式

您可以使用正则表达式来计算每个令牌的确切字符数,然后在每个令牌的末尾插入一个空格,如果末尾恰好有空格,则在末尾修剪任何空白:

代码语言:javascript
复制
Out_S = strtrim(regexprep(S, '.{2}', '$0 '));

我们得到:

代码语言:javascript
复制
Out_S =

AB AC BA DE CA EF

方法3-重新塑造增加一行空间并将其重新塑造

您可以重塑您的字符矩阵,使每一对字符是一列,您将插入另一行充满空格,然后重新塑造回来。我们还修剪掉了任何不必要的空格:

代码语言:javascript
复制
Sr = reshape(S, 2, []);
Sr(3,:) = 32*ones(1,size(Sr,2));
Out_S = strtrim(Sr(:).');

我们得到:

代码语言:javascript
复制
Out_S =

AB AC BA DE CA EF
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31978601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档