MATLAB 7 字符串操作
1. 字符串的设定
在MATLAB 7中的字符串一般是ASCII值的数值数组,它作为字符串表达式进行显示。MATLAB 7对字符串的设定非常简单,只需用单引号(’)将需设定的字符串引注即可。
- >> 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 = %S2为数字型矩阵
- 1 2
- 3 4
复制代码
|