判断一个字符串中排除空格和换行以外字符运行不同的逻辑
写一个C#字符串解析程序代码,逻辑是从前到后一个一个读取字符,遇到匹配空格、Tab和换行符就继续读取下一个字符,遇到大写或小写的字符a,运行方法a(),遇到大写或小写的字符b,运行方法b(),遇到大写或小写的字符c,运行方法c(),否则运行方法d()。
以下是实现该字符串解析程序的C#代码:
using System;
public class StringParser
{
public void Parse(string input)
{
foreach (char c in input)
{
// 跳过所有空白字符(空格、Tab、换行符等)
if (char.IsWhiteSpace(c))
{
continue;
}
// 根据字符执行对应方法(不区分大小写)
switch (char.ToLower(c))
{
case 'a':
a();
break;
case 'b':
b();
break;
case 'c':
c();
break;
default:
d();
break;
}
}
}
private void a()
{
Console.WriteLine("执行方法 a");
}
private void b()
{
Console.WriteLine("执行方法 b");
}
private void c()
{
Console.WriteLine("执行方法 c");
}
private void d()
{
Console.WriteLine("执行方法 d");
}
}
// 使用示例
class Program
{
static void Main()
{
StringParser parser = new StringParser();
string testInput = "aB c\t\nDx";
Console.WriteLine($"解析字符串: {testInput}");
parser.Parse(testInput);
}
}
代码说明:
Parse
方法遍历输入字符串的每个字符- 使用
char.IsWhiteSpace
判断所有空白字符并跳过 - 将字符转换为小写后通过switch语句统一处理大小写
- 根据字符类型调用对应的私有方法
- 每个方法目前只是简单输出,实际使用时可以替换为具体逻辑
示例输出:
解析字符串: aB c
Dx
执行方法 a
执行方法 b
执行方法 c
执行方法 d
执行方法 d
特点:
- 支持全角/半角所有类型的空白字符
- 统一处理大小写字母
- 可扩展性强,方便添加新字符的处理方法
- 使用面向对象设计,封装解析逻辑