MATLAB字符串处理

%% 字符串处理
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')

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值