亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> MATLAB

MATLAB 字符串完全指南:创建、拼接、元胞数组与常用函数

MATLAB 中字符串本质为字符数组。创建简单:

my_string = 'Tutorials Point'

用 whos 查看:1×16 char,占 32 字节。

可用 uint8/uint16 转 ASCII 码,char 还原:

my_string = 'Tutorial''s Point';
str_ascii = uint8(my_string)
char(str_ascii)
str_16bit = uint16(my_string)
char(str_16bit)

矩形字符数组

存储多行文本需矩形字符数组(各行等长)。两种垂直拼接方式:

doc_profile = ['Zara Ali '; 'Sr. Surgeon '; 'R N Tagore Cardiology Research Center']
doc_profile = char('Zara Ali', 'Sr. Surgeon', 'RN Tagore Cardiology Research Center')

水平拼接:

name = 'Zara Ali '; position = 'Sr. Surgeon '; worksAt = 'R N Tagore...';
profile = [name ', ' position ', ' worksAt]
profile = strcat(name, ', ', position, ', ', worksAt)

转元胞数组存储变长字符串

cellstr 将字符数组转元胞数组,灵活存储不同长度字符串:

profile = char(name, position, worksAt);
profile = cellstr(profile); disp(profile)
{ [1,1]=Zara Ali  [2,1]=Sr. Surgeon  [3,1]=R N Tagore... }

字符串函数速查表

存储与合并
blanks生成空白字符串
cellstr字符数组转元胞数组
char转字符数组
iscellstr判断是否为字符串元胞数组
ischar判断是否为字符数组
sprintf格式化数据为字符串
strcat水平拼接字符串
strjoin元胞数组字符串连接
查找与替换
isletter判断字母字符
isspace判断空白字符
isstrprop判断字符串类别
sscanf从字符串读取格式化数据
strfind查找子串
strrep查找并替换子串
strsplit按分隔符分割字符串
strtok提取字符串片段
validatestring验证字符串有效性
symvar提取符号变量
regexp正则匹配(区分大小写)
regexpi正则匹配(忽略大小写)
regexprep正则替换
regexptranslate转义正则字符
比较
strcmp比较(区分大小写)
strcmpi比较(忽略大小写)
strncmp比较前 n 字符(区分大小写)
strncmpi比较前 n 字符(忽略大小写)
大小写与空白处理
deblank去除尾部空格
strtrim去除首尾空白
lower转小写
upper转大写
strjust字符数组对齐

实战示例

格式化字符串

A = pi*1000*ones(1,5);
sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)
3141.592654
3141.59
+3141.59
   3141.59
000003141.59

连接字符串

str_array = {'red','blue','green','yellow','orange'};
strjoin(str_array, '-')  % red-blue-green-yellow-orange
strjoin(str_array, ',')  % red,blue,green,yellow,orange

查找替换

students = {'Zara Ali','Neha Bhatnagar',...};
new_student = strrep(students(8), 'Reva', 'Poulomi')
first_names = strtok(students)

比较字符串

str1 = 'This is test'; str2 = 'This is text';
if strcmp(str1,str2) ... else ... end
This is test and This is text are not equal

MATLAB

  1. MATLAB 入门指南:矩阵实验室的核心能力与应用领域全景
  2. MATLAB 变量深度解析:矩阵本质、赋值、多重赋值、查看与清理、长赋值、格式控制、向量创建
  3. MATLAB 常用命令速查:会话管理、系统操作、输入输出、矩阵数组、绘图可视化
  4. MATLAB 数据类型完全指南:15 种基本类型、转换函数与类型判断函数速查表
  5. MATLAB 运算符大全:矩阵/数组算术、关系、逻辑、位运算、集合运算详解
  6. MATLAB 矩阵核心操作:创建、索引引用、子矩阵提取、行列删除、拼接与基本运算
  7. MATLAB 多维数组与特殊数组完全指南
  8. MATLAB 冒号运算符详解:向量创建与高效迭代
  9. MATLAB 数值类型详解:存储、转换与范围查询
  10. MATLAB 函数详解:定义、工作区、输入输出与多种函数类型
  11. MATLAB 代数方程求解:solve、因式分解与化简
  12. 精通 Java 字符串:创建、方法与最佳实践