字符串
直接赋值输出
输入:
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