lua学习例题详解

local str="fdsfAkk!Gr%g&re"将这个字符串的每一个字母类型的字符计算出他在这个字符串的个数。

方法1:

用2个循环把每一个的字符与后面的进行比较。

str="fdsfAkk!Gr%g&re"

str=string.gsub(str,"%A","")

print(str)

str=string.upper(str)

str_chucun=""

for i=1,#str do

if string.find(str_chucun,string.sub(str,i,i)) then

else

str_chucun=str_chucun..string.sub(str,i,i)

n=1

for j=i+1,#str do

if string.sub(str,i,i)==string.sub(str,j,j) then

n=n+1

end

end

print(string.sub(str,i,i).." "..n)

--str_chucun=str_chucun..string.sub(str,i,i)

end

End

方法2:

str="fdsfAkk!Gr%g&re"

 

t={}

for i=1,26 do

t[i]=0

end

for i=1,#str do

for j=1,26 do

if string.byte(string.sub(str,i,i),1,1)==96+j or

string.byte(string.sub(str,i,i),1,1)==64+j then

t[j]=t[j]+1

end

end

end

sum=""

for k,v in pairs(t) do

if k==26 then

str=""

else

str=","

end

sum=sum..k.." "..v..str

end

print(sum)

方法3:

str="fdsfAkk!Gr%g&re"

for i=1,26 do

for j=1,#str do

if string.find(string.sub(str,j,j),"["..string.char(96+i)..string.char(64+i).."]") then

t[i]=t[i]+1

end

end

end

 

sum=""

for k,v in pairs(t) do

if k==26 then

str=""

else

str=","

end

sum=sum..k.." "..v..str

end

print(sum)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值