当前位置: 首页 > news >正文

Matlab字符串相关操作-拼接、格式化

常见的有三种方法:向量拼接、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,

http://www.lryc.cn/news/20211.html

相关文章:

  • 死磕Spring系列,SpringBoot启动流程
  • 关于条件变量wait操作中锁的作用
  • JUC并发编程与源码分析笔记09-原子类操作之十八罗汉增强
  • 含分布式电源的配电网日前两阶段优化调度模型(Matlab代码实现)
  • FreeRTOS的Delay函数
  • HCIA-HarmonyOS Application Developer——题目集1
  • 高性能 Message ToJavaBean 工具 【easy.server.mapper】
  • Web前端学习:三 - 练习
  • 面试题:Android 中 Intent 采用了什么设计模式?
  • Java数据类型与变量
  • Python为CANoe工程添加/删除DBC文件
  • 不同的产品经理特征和需要的能力
  • webpack之处理样式资源
  • Golang 接口笔记
  • [计算机网络(第八版)]第二章 物理层(章节测试/章节作业)
  • [iOS 理解] Swift Runtime (1) 类
  • ASEMI低压MOS管20N06参数,20N06体积,20N06大小
  • 常见前端基础面试题(HTML,CSS,JS)(四)
  • RabbitMQ发布确认模式
  • 零基础的人如何入门 Python ?看完这篇文章你就懂了
  • Atcoder abc257 E
  • 模拟退火算法改进
  • SpringBoot+HttpClient+JsonPath提取A接口返回值作为参数调用B接口
  • JUC 之 CompletableFuture
  • 7-vue-1
  • OpenAPI SDK组件介绍
  • 【Java】Synchronized锁原理和优化
  • 西北工业大学2020-2021学年大物(I)下期末试题选填解析
  • PHP - ChatGpt API 接入 ,代码,亲测!(最简单!)
  • 物联网MQTT协议简单介绍