1. 字符串的设定
在MATLAB 中的字符串一般是ASCII值的数值数组,它作为字符串表达式进行显示。MATLAB 对字符串的设定非常简单,只需用单引号(’)将需设定的字符串引注即可。
>> str='I have many good friends!'
str = I have many good friends!
>> whos
Name Size Bytes Class Attributes
str 1x25 50 char
2. 字符串的操作
字符串元素的读取
-利用数组操作工具进行读取
-使用disp函数显示字符串
>> str='I have many good friends!';
>> str
str = I have many good friends!
>> str(3)
ans = h
>> disp(str)
I have many good friends!
字符串的基本变换
字符串的ASCII码操作
使用char函数进行逆变换
字符串的执行
>> for n = 2:3
eval(['M' num2str(n) ' = magic(n)'])
end
M2 =
1 3
4 2
M3 =
8 1 6
3 5 7
4 9 2
常见字符串的操作
函数名 函数用途
strcat 链接字符串
strcmp 比较字符串大小
findstr 在其他的字符串中寻找该字符串
strmatch 查找可能匹配的字符串
strtok 查找字符串中的记号
deblank 删除字符串内的空格
iscellstr 字符串的单元检验
isspace 空格检验
strvcat 垂直链接字符串
strncmp 比较字符串的前n个字符
strjust 证明字符数组
strrep 用其他字符串代替改串
blanks 生成空的字符串
ischar 字符串检验
isletter 字母检验
strings strings函数的帮助
字符串的运算
字符串的运算主要是指判断字符串是否相等,通过字符的运算来比较字符,字符串中字符的分类、查找与替换、字符串与数值的转换和数组与字符串的转换等。
有两个函数可以用来判断两个输入的字符串是否相等。
strcmp函数: 比较两个字符串是否相等,当相等时,系统将返回值1,不相等时,返回值0;
strncmp函数:比较两个输入字符串的前几个字符是否相等,当相等时,系统将返回值1,不相等时,返回值0。
通过字符的运算比较字符
符号形式-----符号意义----英文简写-----------
== 等于 eq
~= 不等于 ne
< 小于 lt
> 大于 gt
<= 小于或等于 le
>= 大于或等于 ge
字符串中字符的分类
字符串中的字符通常可以分为空白字符、字母字符和其他类型的字符。用户可以用isletter和isspace两个函数来对字符串中的字符进行分类 。
>> realstring='goodplane.com '
realstring =
goodplane.com
>> A=isspace(realstring)
A =
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
查找与替换
查找与替换是字符串操作中的一项重要内容,MATLAB 7语言提供了findstr、strfind和strrep等函数来实现查找与替换操作。
>> str1='我的名字是千千阙歌';
>> str2=strrep(str1,'千千阙歌','歌声依旧')
str2 =
我的名字是歌声依旧
字符串与数值的转换
常见的字符串转换函数
函数------------------------- 功能------------------
hex2dec 将16进制字符串转化为10进制整数
bin2dec 将2进制字符串转化为10进制整数
base2dec 转化B底字符串为10进制整数
upper 改该字符串为大写
fprintf 把格式化的文本写到文件中或显示屏上
sscanf 用格式控制,字符串转换成数字
num2str 数字转换成字符串
dec2hex 将10进制整数转化为16进制字符串
dec2bin 将10进制整数转化为2进制字符串
hex2num 将16进制字符转化为双精度数
lower 改该字符串为小写
sprintf 用格式控制,数字转换成字符串
char ASCII码转换成字符串
int2str 整数转换成字符串
使用str2num函数将字符型矩阵转换为数字矩阵
>> S = ['1 2';'3 4'] % S为字符型矩阵
S =
1 2
3 4
>> S2=str2num(S)
S2 =
1 2
3 4