%% 字符串处理
xm = 'Central South University'
xm(1:3) %将xm字符串看成是一个行向量,取行向量的第到第个元素
% 若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示
'I''m a teacher'
% 建立多行字符串,形成字符串矩阵
ch = ['abcdef';'123456'];
ch(2,3)
%% 建立一个字符串向量,然后对该向量做出如下处理:
% 1.取第1-5个字符组成的子字符串。
% 2.将字符串倒过来重新排列。
% 3.将字符串中的小写字母变成相应的大写字母,其余字符保持不变。
% 4.统计字符串中小写字母的个数
ch = 'ABc123d4e56Fg9';
subch = ch(1:5)
revch = ch(end:-1:1)
k = find(ch>='a' & ch<='z') % 找到小写字母的下标,并以行向量的方式赋值给k
ch(k) = ch(k)-('a'-'A')
length(k)
%% 字符串的操作
% 1.字符串的执行。格式:eval(s)
t = pi;
m = '[t,sin(t),cos(t)]';
y = eval(m)
% 字符串与数值之间的转换
% abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵
% char函数可以把ASCII码矩阵转换为字符串矩阵
s1 = 'MATLAB';
a = abs(s1)
b = double(s1)
char(a+32)
% 字符串的比较
% 关系运算符比较:两个字符串里的每个字符依次按ASCll值大小逐个进行比较,比较的结果是一个数值向量,向量中的元素要么是1,要么是0。
'www0'>'W123'
% 字符串比较函数
% 1.strcmp(s1,s2):用来比较字符串s1和s2是否相等,如果相等,返回结果为1,否则返回0。
% 2.strncmp(s 1,s2,n):用来比较两个字符串前n个字符是否相等,如果相等,返回1,否则返回0。
% 3.strcmpi(s 1,s2):在忽略字母大小写前提下,比较字符串sl和s2是否相等,如果相等,返回1,否则返回0。
% 4.strncmpi(s1,s2,n):在忽略字符串大小写前提下,比较两个字符串前n个字符是否相等,如果相等,返回1,否则返回0。
strcmp('www0', 'Ww123')
strncmpi('www0', 'WWw3', 2)
% findstr(s1,s2):返回短字符串在长字符串中的开始位置。
% strrep(s1,s2,s3):将字符串s1中的所有子字符串s2替换为字符串s3。
findstr('This is a teacher', 'is')
findstr('This is a teacher', ' is')
findstr('is','This is a teacher')
result = strrep('This is a test!', 'test', 'class')