字符串
直接赋值输出
输入:
s='matlab';
s输出:
s =
matlab利用disp输出
输入:
s='matlab';
disp(s);输出:
matlab输出字符串中的某个值
输入:
s='matlab';
s(2)输出:
ans =
a创建单行字符串
输入:
s1='MATLAB';
s2=' is ';
s3='a very good ';
s4='software.';
s=[s1 s2 s3 s4];
disp(s);输出:
MATLAB is a very good software.使用strcat函数创建单行字符串
语法格式
strcat(子串1,子串2,…,子串n)—最右侧空格会被删掉
输入:
s1='MATLAB';
s2=' is';
s3=' a very good';
s4=' software.';
s=strcat(s1,s2,s3,s4);
disp(s);输出:
MATLAB is a very good software.使用[]创建多行字符串
输入:
s1='MATLAB ';
s2='is ';
s3='a very good ';
s4='software.';
s=[s1,s2,s3,s4];
disp(s);输出:
MATLAB is a very good software.输入:
s1='MATLAB ';
s2='is ';
s3='a very good';
s4='software. ';
s=[s1;s2;s3;s4];
disp(s);输出:
MATLAB
is
a very good
software.使用strvcat函数多行创建字符串
语法格式
strvcat(子串1,子串2,…,子串n)
输入:
s1='MATLAB';
s2='is';
s3='a very good';
s4='software.';
s=strvcat(s1,s2,s3,s4);
disp(s);输出:
MATLAB
is
a very good
software.使用char函数创建多行字符串
语法格式
char(子串1,子串2,…,子串n)
输入:
s1='MATLAB';
s2='is';
s3='a very good';
s4='software.';
s=char(s1,s2,s3,s4);
disp(s);输出:
MATLAB
is
a very good
software.字符串比较函数
strcmp(a,b)—比较字符串a,b是否完全相同strcmpi(a,b)—比较字符串a,b在忽略大小写的情况下是否完全相同strncmp(a,b,n)—比较字符串a,b的前n个字符是否完全相同strnmpi(a,b,n)—比较字符串a,b在忽略大小写的情况下前n个字符是否完全相同
输入:
s1='MATLAB';
s2='matlab';
s3='matlab is very good.';
s4='MATLAB';
strcmp(s1,s2)
strcmp(s1,s3)
strcmp(s1,s4)输出:
ans =
0
ans =
0
ans =
1输入:
s1='MATLAB';
s2='matlab';
s3='matlab is very good.';
s4='MATLAB';
strcmp(s1,s2)
strcmpi(s1,s2)输出:
ans =
0
ans =
1输入:
s1='MATLAB';
s2='matlab';
s3='matlab is very good.';
s4='MATLAB';
strncmp(s1,s4,6)
strncmp(s1,s3,6)输出:
ans =
1
ans =
0输入:
s1='MATLAB';
s2='matlab is very good.';
strncmp(s1,s2,6)
strncmpi(s1,s2,6)输出:
ans =
0
ans =
1使用==完成字符串比较
- 不同维度的字符串不可以进行比较
- 单个字符可以和字符串进行比较
输入:
s1='Matlab';
s2='matlab';
s1==s2输出:
ans =
0 1 1 1 1 1输入:
s1='m';
s2='matlab';
s1==s2输出:
ans =
1 0 0 0 0 0输入:
s1='a';
s2='matlab';
s1==s2输出:
ans =
0 1 0 0 1 0使用strfind完成字符串查找
语法:
strfind(string,pattern)- 查找字符串string内,是否包含pattern子串
- 如果包含返回子串位置
- 不过不包含返回空数组
输入:
s1='matlab';
s2='matlab is very good.';
strfind(s2,s1)输出:
ans =
1输入:
s1='very';
s2='matlab is very good.';
strfind(s2,s1)输出:
ans =
11输入:
s1='a';
s2='matlab is a very good software.';
strfind(s2,s1)输出:
ans =
2 5 11 28输入:
s1='MATLAB';
s2='matlab is a very good software.';
strfind(s2,s1)输出:
ans =
[]使用strrep完成字符串替换
语法:
sNew=strrep(s,s1,s2)- 把字符串s中的s1替换为s2.
- 要有返回值
- 该函数区分大小写
- 有几个换几个
输入:
s='matlab is a very good software.';
s1='matlab';
s2='PS';
sNew=strrep(s,s1,s2);
disp(sNew);输出:
PS is a very good software.使用int2str把数值数组转换为字符数组
语法:
s=int2str(n)- 把数值数组转换成有数字组成的字符串
输入:
x=66;
y=int2str(x);
whos输出:
Name Size Bytes Class Attributes
x 1x1 8 double
y 1x2 4 char 输入:
x=[4 5 7 9];
y=int2str(x);
whos输出:
Name Size Bytes Class Attributes
x 1x4 32 double
y 1x10 20 char 输入:
a='matlab';
b=2017;
b=num2str(b);
c=[a b];
disp(c);输出:
matlab2017使用str2num将字符串转换为数字
输入:
s='2017';
n=str2num(s);
whos输出:
Name Size Bytes Class Attributes
n 1x1 8 double
s 1x4 8 char 输入:
s='2017';
n=str2double(s);
whos输出:
Name Size Bytes Class Attributes
n 1x1 8 double
s 1x4 8 char