如何判断一个字符串中包含几个字母,几个数字,几个标点?

yuanjh2001 2008-06-11 08:43:42
我有一个字符串abcd45612,asd我想用一个程序来判断有几个字母,几个数字,几个标点?谢谢
...全文
1516 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
草_根 2012-09-05
  • 打赏
  • 举报
回复
学习了
我姓区不姓区 2008-06-12
  • 打赏
  • 举报
回复
就在csdn上给我发消息或者在我空间留言都可以,
我上csdn比较多
yuanjh2001 2008-06-12
  • 打赏
  • 举报
回复
想和你探讨问题的时候怎么联系你啊,你总有一个联系方式吧?
我姓区不姓区 2008-06-12
  • 打赏
  • 举报
回复
176342053不过我很少上的
yuanjh2001 2008-06-12
  • 打赏
  • 举报
回复
谢谢,非常感谢!搞定了,能给个qq号码吗?:)
我姓区不姓区 2008-06-12
  • 打赏
  • 举报
回复
winform or webform?
winform:
MessageBox.Show(string.Format("共有{0}个字母,{1}个数字,{2}个标点", characters, numbers, symbols));

webform:
Reponse.Write(string.Format("共有{0}个字母,{1}个数字,{2}个标点", characters, numbers, symbols));
yuanjh2001 2008-06-12
  • 打赏
  • 举报
回复
我是想在一个页面上加一个textbox和一个按钮button,点击button之后获取textbox的值同时加以判断,我试了一下,加在button事件里好像没有反应?
我姓区不姓区 2008-06-12
  • 打赏
  • 举报
回复
那你要用在什么地方?
yuanjh2001 2008-06-12
  • 打赏
  • 举报
回复
上面的代码写在哪个位置?请指点?
我姓区不姓区 2008-06-11
  • 打赏
  • 举报
回复
根据2楼提供的思路修改了一下:

string s = "abcd45612,asd";
int characters = 0;
int numbers = 0;
int symbols = 0;
foreach (char c in s)
{

if(char.IsPunctuation(c))
symbols++;
if(Char.IsLetter(c))
characters++;
if(char.IsDigit(c))
numbers++;
}
Console.WriteLine("共有{0}个字母,{1}个数字,{2}个标点", characters, numbers, symbols);

SuperTyro 2008-06-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shareliving 的回复:]
将字符串转换为 char类型的数组

char[] operator = string.ToCharArray()
for(int i = 0 ;i < operator.Lenght;i++)
{
operator[i].isDigit//是否为十进制数字isNumber 相关的方法去看Char类
}
[/Quote]

为这个顶

我是小菜鸟! 说的不好清见谅, 希望能够帮到你!
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shareliving 的回复:]
将字符串转换为 char类型的数组

char[] operator = string.ToCharArray()
for(int i = 0 ;i < operator.Lenght;i++)
{
operator[i].isDigit//是否为十进制数字isNumber 相关的方法去看Char类
}
[/Quote]


这个思路好
足球中国 2008-06-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojlovecd 的回复:]
比较笨的方法,判断ASCII码:

C# code
string s = "abcd45612,asd";
int characters = 0;
int numbers = 0;
int symbols = 0;
foreach (char c in s)
{
if ((c >= 33 && c <= 47) || (c >= 58 && c <= 64) || (c >= 91 && c <= 96) || (c >= 123 && c <= 126))
symbols++;
if ((c >…
[/Quote]
真的是好东西。收了
我姓区不姓区 2008-06-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shareliving 的回复:]
将字符串转换为 char类型的数组

char[] operator = string.ToCharArray()
for(int i = 0 ;i < operator.Lenght;i++)
{
operator[i].isDigit//是否为十进制数字isNumber 相关的方法去看Char类
}
[/Quote]
好东西,学习了
shareliving 2008-06-11
  • 打赏
  • 举报
回复
将字符串转换为 char类型的数组

char[] operator = string.ToCharArray()
for(int i = 0 ;i < operator.Lenght;i++)
{
operator[i].isDigit//是否为十进制数字isNumber 相关的方法去看Char类
}
我姓区不姓区 2008-06-11
  • 打赏
  • 举报
回复
比较笨的方法,判断ASCII码:

string s = "abcd45612,asd";
int characters = 0;
int numbers = 0;
int symbols = 0;
foreach (char c in s)
{
if ((c >= 33 && c <= 47) || (c >= 58 && c <= 64) || (c >= 91 && c <= 96) || (c >= 123 && c <= 126))
symbols++;
if ((c >= 65 && c <= 90) || (c >= 97 && c <= 122))
characters++;
if (c >= 48 && c <= 57)
numbers++;
}
Console.WriteLine("共有{0}个字母,{1}个数字,{2}个标点", characters, numbers, symbols);

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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