学习matlab(二)——字符串分析

在使用MATLAB时经常会遇到对字符或字符串的操作。本章将对MATLAB的字符串函数进行详细的介绍。字符串是指1Xn的字符数组。在MATLAB软件中提供了很多的字符或字符串操作方法和函数,包括字符串的创建、字符串的属性、比较、查找以及字符串的转换和执行等。

在MATLAB中,单个字符是按照Unicode编码存储的,每个字符占两个字节。MATLAB内部按照字符的编码数值对字符串进行运算。字符和字符串是MATLAB语言的重要组成部分,MATLAB提供了强大的字符串处理功能。

函数 说明
strcat 字符串连接
strcmp 字符串比较
findstr 字符串查询
strmatch 查找匹配的字符串
strtok 查找字符串中的记号
deblank 删除空格
iscellstr 字符串的单元检测
isspace 检测是否为空格
strvcat 字符串垂直连接
strncmp 比较前n个字符
strjust 证明字符数组
strrep 字符串替代
blanks 生存空字符串
ischar 字符串检验
isletter 是否为字符检验
strings strings函数的帮助

在MATLAB中,对字符串的设定非常的简单,只需要用单引号(')将需要设定的字符串括起来通过函数disp( ):对字符串进行显示。通过函数size( ):取得该字符串的长度。通过函数double():将字符串以ASCII码显示。通过函数char( ):将ASCII码 以字符串显示。

在MATLAB中,创建字符串非常的简单,将字符串中的字符放到一对单引号之间即可。该单引号必须是在英文状态下输入的。多个字符串可以构成字符矩阵,但是矩阵的每行字符数必须相等。函数strcat( )和函数strvcat( )对字符串进行连接。函数strcat( )将多个字符串连接成行向量,字符串首尾连接在一起,形成一个新的字符串。函数strvcat( )将多个字符串连接成列向量。

在MATLAB中,对两个字符串进行比较采用函数strcmp( )和函数strncmp( ),下 面分别进行介绍:函数strcmp( )的调用格式为n=strcmp(str1, str2),该函数比较字符串str1和字符串str2是否相等,如果相等,函数返回值为1;当不相等时,返回值为0。函数strncmp( )的调用格式为n=strncmp(str1, str2, k),该函数比较字符串str1和字符串str2的前k个字符是否相等。如果相等,返回值为1;当不相等时,返回值为0。该函数区分字符的大小写。函数strncmpi( )的调用格式为n=strncmpi(str1, str2, k),和函数strncmp( )基本一样。该函数和函数strncmp( )的不同之处是,该函数不区分字符的大小写。

字符串的查找和替换时字符串操作的一项重要内容,在MATLAB中提供了函数findstr()、strfind( )、和strrep())等函数来实现对字符串的查找和替换操作。函数strfind( )的调用格式为k=strfind(text, pattern), 在text字符串中查找pattern字符或字符串,当查找成功后返回第一个相同字符的具体位置。函数strrep( )的调用格式为S=strrep(S1, S2, S3),该函数会将字符串S1中的子串S2都替换为S3,然后返回到字符串S中。

在MATLAB中,可以使用函数num2str( )、int2str( )、str2num( )和str2double( )等实现字符串和数值之间的入参数X为矩阵,则转换为一个字符串矩阵。该函数也可以指定数字的精度,调用格式为t=num2str(X, n),其中t的精度为n位。函数t=int2str(X),该函数将整数X转换为字符串。如果X不是整数,先将X取整,然后再转换为字符串。函数x=str2num(S),该函数将字符型矩阵S转换为-一个数字矩阵。函数x=str2double(S),该函数将字符串转换为双精度的数值。函数str=mat2str(mat),该函数将数组或矩阵转换为对应的字符串。

除了字符串的构造、查找、替换,以及字符串的转换等,在MATLAB中还有--些字符串处理函数,能够进行字符串的一-些操作,例如字符的分类、字符串的执行等,还可以进行字符串大小写的转换等。

在MATLAB中,字符串中的字符通常可以分为空白字符、字母字符和其他类型的字符。可以通过函数isspace()和函数isletter( )对字符串中的字符进行分类。下面分别进行介绍: 函数isspace(S):字符串S进行分类,如果为空白字符,返回值为1;否则返回值为0;函数isletter(S),对字符串S进行分类,如果为字母字符,返回值为1;否则返回值为0。

MATLAB表达式可能包含在字符串中,下面详细介绍如何执行这些包含在字符串中的表达式。在MATLAB中提供了三个函数eval( )、evalc( )和evalin( ),可以执行字符串中包含的MATLAB程序。函数eval( )的调用格式为: eval('expression'): 在该函数中expression为包含MATLAB表达式的字符串。

在MATLAB中通过函数upper( )可以将字符串转换为大写字母。函数lower( )将字符串转换为小写字母。利用函数ischar()判断是否为字符,如果为字符则返回值为1,否则返回值为0。在MATLAB的命令窗口,输入命令“help strfun”,可以显示所有的字符串操作函数。

 

 

发布了363 篇原创文章 · 获赞 32 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_35789421/article/details/104200382