如何判断一个字符串中有几个英文字母,几个数字

csuxp2008 2009-07-29 11:19:10
例如一个字符串: 'aaa56ee78cc'

我想写个存储过程,来求出输入的字符串中字母以及数字的个数。

哪位大侠给个思路
...全文
756 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
_Natsu 2010-05-05
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
int Array[36]={0};
char e;
int i=0;
while((e=getchar())!='\n')
{
if(e>='a'&&e<='z')
Array[int(e-'a')]++;
if(e>='A'&&e<='Z')
Array[int(e-'A')]++;
if(e>='0'&&e<='9')
Array[e-'0'+26]++;
}
e='A';
for(i;i<36;i++)
{
if(Array[i]!=0&&i<26)
{
printf("%c:%2d个 ",char(e+i),Array[i]);
}
else
if(Array[i]!=0)
printf("%c:%2d个 ",char('0'+i-26),Array[i]);
if(i%5==0)
printf("\n");
}
return 0;
}
shs2mys 2009-07-29
  • 打赏
  • 举报
回复
select
length(trim((translate(str,'0123456789',' '))) "字符个数",
length(trim(translate(str,'abc...zABC...Z',' '))) "数字个数"
from table1
pinklotus 2009-07-29
  • 打赏
  • 举报
回复
1:length(str)-length(replace(translate(str,'0123456789.',' '),' '))
2:length(str)-length(replace(translate(str,abc..zABC...Z',' '),' '))
fosjos 2009-07-29
  • 打赏
  • 举报
回复
length(str)-length(translate(str,' 0123...9abc...zABC...Z',' '))
inthirties 2009-07-29
  • 打赏
  • 举报
回复
学习叻
csuxp2008 2009-07-29
  • 打赏
  • 举报
回复
谢谢各位,我试试
ks_reny 2009-07-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shs2mys 的回复:]
select
length(trim((translate(str,'0123456789',' '))) "字符个数",
length(trim(translate(str,'abc...zABC...Z',' '))) "数字个数"
from table1
[/Quote]
oracle中好像不支持...省略号. 要写全.
suncrafted 2009-07-29
  • 打赏
  • 举报
回复
SQL> SELECT 'aaa56ee78cc' STR,
2 TRIM(TRANSLATE('aaa56ee78cc', '0123456789', ' ')) STR_1,
3 LENGTH(TRIM(TRANSLATE('aaa56ee78cc', '0123456789', ' '))) LEN
4 FROM DUAL;

STR STR_1 LEN
----------- ------- ----------
aaa56ee78cc aaaeecc 7

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧