1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > matlab 判断大小写 【万大暗】matlab字符串不分字母大小写按字母表排序问题

matlab 判断大小写 【万大暗】matlab字符串不分字母大小写按字母表排序问题

时间:2022-11-08 13:47:38

相关推荐

matlab 判断大小写 【万大暗】matlab字符串不分字母大小写按字母表排序问题

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

function x=p12_1(s)

ns=size(s);

a=ns(1);

b=ns(2); %取得矩阵的规格,即行和列

x=cell(a,b); %建立新矩阵x

for ii=1:a %这个嵌套循环对每个字符串进行单独操作

for jj=1:b

st=s{ii,jj}; %取出字符串元素

fakesort=sort(st); %假整理一次,目的只是为了取得大写字母

uppersum=sum(st<='Z'&st>='A'); %取得大写字母的个数

up=fakesort(1:uppersum); %提取大写字母字符串

up=lower(up); %将大写字母字符串转换为小写

low=lower(st); %将原字符串全部转化为小写

low1=sort(low); %将全部为小写字母的字符串按字母表顺序升序排列

fortt=1:uppersum %这个嵌套循环将以排列好的小写字母与提取出的大写字母(实际已转化为小写)一一比对,将其转换为大写

for yy=1:length(st)

if up(tt)==low1(yy)

low1(yy)=upper(low1(yy));

break;

end

end

end

x{ii,jj}=low1; %最后赋值给x

end

end

end

下面是一组测试结果:

>> a=cell(2,2)

a =

[] []

[] []

>> a{1,1}='shYstjYTSDjdk';

>> a{1,2}='sjhjsSYJsjyNhJU';

>> a{2,1}='zhjDSYJJssyjAsJ';

>> a{2,2}='hsstySYTJTszMK';

>> p12_1(a)

ans =

'DdhjjkSssTtYY' 'hhJJjjjNSsssUYy'

'ADhJJJjjSsssYyz' 'hJKMSsssTTtYyz'

就是这样,从最后一组结果可以看出,将大写字母排到前面了

@melody霜之哀伤

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。