MATLAB统计一个字符串中各个字符的个数
3个回答
展开全部
clc
str1 = 'my name is wang what is your name';
sort_str1 = sort(str1) %将字符串中的字符按照ascii码排序
j = 1; %记录不同的字符串格式
for i = 1:length(sort_str1)-1
if strcmp(sort_str1(i),sort_str1(i+1))~=1
j = j+1;
str2(j) = sort_str1(i);
end
str2(j+1) = sort_str1(i+1);
end
for i = 1:length(str2)
str_num = strfind(sort_str1,str2(i))
count(i) = length(str_num);
end
count
第一步,先把字符串排序
第二步,记录下所有不同的字符串,把它放到str2里面
第三步,遍历原先的字符串,对不同的字符串进行计数
展开全部
a='aabbccddabcdsada';%任意字符串
b=unique(a);%计算有多少个不重复的字符串
for i=1:length(b)
num(i)=length(strfind(a,b(i))); %统计字符的数目
end
b %显示字符
num %显示个数
--------------------------------
结果如下
b =
abcds
num =
5 3 3 4 1
a 5个 b 3个......
b=unique(a);%计算有多少个不重复的字符串
for i=1:length(b)
num(i)=length(strfind(a,b(i))); %统计字符的数目
end
b %显示字符
num %显示个数
--------------------------------
结果如下
b =
abcds
num =
5 3 3 4 1
a 5个 b 3个......
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果这个很长的字符串包含空格,那么读入是应该加空格辨认,不要因为空格把字符串拆散了。
假设你的这个文本文件是 myfile.txt
具体操作如下:
cell_string=textread('myfile.txt','%s','whitespace','');
如果没有空格,可以去掉空格辨认如下
cell_string=textread('myfile.txt','%s');
然后是读取第n到第n+10个字符
n=?; %这里n填入你需要的数值
string_s=cell_string{1}; %将读取的字符串从cell里存到字符串 %string_s里面
a=string_s(n:n+10);
b=string_s(n+1:n+1+10);
假设你的这个文本文件是 myfile.txt
具体操作如下:
cell_string=textread('myfile.txt','%s','whitespace','');
如果没有空格,可以去掉空格辨认如下
cell_string=textread('myfile.txt','%s');
然后是读取第n到第n+10个字符
n=?; %这里n填入你需要的数值
string_s=cell_string{1}; %将读取的字符串从cell里存到字符串 %string_s里面
a=string_s(n:n+10);
b=string_s(n+1:n+1+10);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询