matlab中应用字符串的注意事项

1. 字符串的设定

在MATLAB 中的字符串一般是ASCII值的数值数组,它作为字符串表达式进行显示。MATLAB 对字符串的设定非常简单,只需用单引号(’)将需设定的字符串引注即可。

>> str=’I have many good friends!’

str = I have many good friends!

>> whos

Name Size Bytes Class Attributes

str 1×25 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

    原文作者:15522662503
    原文地址: https://www.jianshu.com/p/03f96928b823
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞