1. 字符串合并
字符数组合并的方法如下
a = 'aa';
b = 'bb';
ab = [a,b]; % ab = 'aabb'
ab = strcat(a,b); % ab = 'aabb'
注意在matlab中,双引号" "和单引号‘ ’是不一样的。双引号表示字符串,单引号表示数组。
c = "cc"; % c是string类型
d = 'dd'; % d是字符数组
cd = [c,d]; % cd = ["cc" "dd"], 1x2 string数组
cd = strcat(c,d); % cd = "ccdd", 单个字符串
上述例子可以看到 strcat 和 [. , .] 的不同效果。strcat总是可以将字符串连接起来,而[a,b]仅能将字符数组连接成一个更长的数组。
2. 格式化字符串
2.1 sprintf 将数据转换为字符串
a = 'aa';
id = 2;
str = sprintf('%s-%d-%.3d-%.2f', a, id, id, id); % str = 'cc-2-002-2.00'
2.2 从字符串里面提取数据
str = '12.0 23.0 32.0';
A = sscanf(str, '%f'); % A = [12.0;23.0;32.0]
A = sscanf(str,'%f %f %f'); % A = [12.0;23.0;32.0]
str = '1.2 kg is 1200 g';
A = sscanf(str, '%f'); % A = 1.2, 只匹配成功第一个数字
A = sscanf(str, '%f kg is %f g'); % A = [1.2; 1200]
当字符串不是由空格分开数字的时候,要求完全匹配。