Matlab字符串相关操作-拼接、格式化
创始人
2024-05-26 21:34:14
0

常见的有三种方法:向量拼接、strcat函数和sprintf函数

1、向量拼接

在matlab中字符串本质上也是一个向量,可以通过矩阵运算来实现字符串的拼接,这里随便输入两个字符串a1和b1,用矩阵形式进行拼接:

a1 = 'I love';b1 = ' Matlab';c1 = [a1,b1];

结果为:

c1 =    'I love Matlab'

可以按要求更改a1 b1的顺序,如果要a1和b1分开的话,可在a1最后加个空格或者在b1前加空格,也可用此方法生成路径,比如:

a = 'C:\User';b = 'Matlab';c = [a,'\',b];
c =    'C:\User\Matlab'

对于处理批量数据且文件名有公共部分时,此方法更为便利。

2、strcat函数

strcat方法用于水平串联字符串。

s = strcat(s1,...,sN) 水平串联 s1,...,sN。每个输入参数都可以是字符数组、字符向量元胞数组或字符串数组。

  • 如果任一输入是字符串数组,则结果是字符串数组。

  • 如果任一输入是元胞数组,并且没有输入是字符串数组,则结果是字符向量元胞数组。

  • 如果所有输入都是字符数组,则结果是字符数组。

对于字符数组输入,strcat 会删除尾随的 ASCII 空白字符:空格、制表符、垂直制表符、换行符、回车和换页符。对于元胞数组和字符串数组输入,strcat 不删除尾随空白。

s1 = 'Good';s2 = 'morning';s = strcat(s1,s2)
s = 'Goodmorning'
s1 = {'abcde','fghi'};s2 = {'jkl','mn'};s = strcat(s1,s2)s = 1x2 cell    {'abcdejkl'}    {'fghimn'}
firstnames = {'Abraham'; 'George'};lastnames = {'Lincoln'; 'Washington'};names = strcat(lastnames, {', '}, firstnames)

3、sprintf函数拼接

>> c1 = sprintf('%s%s',a1,b1)c1 ='I love Matlab'

可以按要求更改a1、b1的顺序,如果要a1和b1分开的话,可在c1中两个%s之间加空格

>> c2 = sprintf('%s %s',a1,b1)c2 ='I love  Matlab'

注:

  • %s 代表输出字符串;

  • %c 代表输出字符串;

  • %d 代表输出整型:%5d 就是说按照长度为5的整型输出,比如100,输出就是" 100"," "代表空格;

  • %f 就是输出小数:%8.4f 就是小数点后保留4位,输出总长度为8,比如3.14159,输出后就是" 3.1415"(前面三个空格);

>> c2 = sprintf('%s %c %5d %8.4f',a1,"a",100,3.14159)c2 ='I love a   100   3.1416'

字符串拼接应用场景

批量保持figure的图片到指定路径

for i = 1:10    x = 1:10;    y = rand(10,1);figureplot(x,y);    saveas(gcf,['G:/','test',num2str(i),'.eps'],'psc');end
  • ‘G:/ ’ 是保存路径 ,

  • ‘test’ 是文件名前缀,

  • gcf代表保存当前图像,

  • num2str(i)表示文件名数字例如:i=1时,文件名为test1,

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...