c#语言用户从键盘输入一段英文(不超过 1000 字符,以换行符 '\n' 结束),请统计其中字母、数字、空白字符、其它标点符号的数量,以及总字符数量。
时间: 2024-10-22 14:19:05 浏览: 76
行结束符-rfc1035(中文) 域名---实现及标准
在 C# 中,你可以通过以下步骤来实现这个功能:
```csharp
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
Console.WriteLine("请输入不超过 1000 字符的英文(换行符结束):");
string input = Console.ReadLine();
// 检查输入长度是否超过限制
if (input.Length > 1000)
{
Console.WriteLine("输入过长,请重新输入!");
return;
}
// 定义计数器变量
int letterCount = 0;
int numberCount = 0;
int whitespaceCount = 0;
int punctuationCount = 0;
int totalCount = 0;
// 使用正则表达式匹配各类字符
foreach (Match match in Regex.Matches(input, @"[a-zA-Z]+"))
letterCount += match.Count; // 字母
foreach (Match match in Regex.Matches(input, @"\d+"))
numberCount += match.Count; // 数字
foreach (char c in input)
{
if (char.IsWhiteSpace(c))
whitespaceCount++; // 空白字符
else if (!char.IsLetterOrDigit(c)) // 其他标点符号
punctuationCount++;
}
totalCount = input.Length; // 总字符数
Console.WriteLine($"字母数量: {letterCount}");
Console.WriteLine($"数字数量: {numberCount}");
Console.WriteLine($"空白字符数量: {whitespaceCount}");
Console.WriteLine($"其他标点符号数量: {punctuationCount}");
Console.WriteLine($"总字符数量: {totalCount}");
// 获取用户的输入并处理
}
}
```
阅读全文