当前位置: 首页 > news >正文

判断一个字符串中排除空格和换行以外字符运行不同的逻辑

写一个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);
    }
}

代码说明:

  1. Parse方法遍历输入字符串的每个字符
  2. 使用char.IsWhiteSpace判断所有空白字符并跳过
  3. 将字符转换为小写后通过switch语句统一处理大小写
  4. 根据字符类型调用对应的私有方法
  5. 每个方法目前只是简单输出,实际使用时可以替换为具体逻辑

示例输出:

解析字符串: aB c	
Dx
执行方法 a
执行方法 b
执行方法 c
执行方法 d
执行方法 d

特点:

  • 支持全角/半角所有类型的空白字符
  • 统一处理大小写字母
  • 可扩展性强,方便添加新字符的处理方法
  • 使用面向对象设计,封装解析逻辑

相关文章:

  • 剑指Offer(数据结构与算法面试题精讲)C++版——day2
  • AIGC SD出图有缺陷有哪些方法可以解决?
  • nginx rewrite的相关功能
  • 算力100问☞第100问:算力竞争的关键领域?
  • 数据仓库建模-CIF方法中3NF建模的核心作用解析
  • “壹号土”和“壹号土猪”都是已注册商标!
  • MongoDB 核心机制解析
  • 深入解析力扣39.组合总和:回溯算法的妙用
  • --- 动态sql的使用 ---
  • 生成LoadX509KeyPair 需要的证书
  • <tauri><rust><GUI>基于rust和tauri,实现一个svg转png的工具
  • kettle从入门到精通 第九十四课 ETL之kettle MySQL Bulk Loader大批量高性能数据写入
  • FlutterWeb实战:02-加载体验优化
  • DPM(Defects Per Million,每百万缺陷数)和PPM(Parts Per Million,百万分之一)
  • php8属性注解使用教程
  • 前端:开源软件镜像站 / 清华大学开源软件镜像站 / 阿里云 / 网易 / 搜狐
  • leetcode22.括号生成
  • 基于yolov11的汽车损伤检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • MySql之binlog与数据恢复(Binlog and Data Recovery in MySQL)
  • STP --- 生成树协议
  • 做营销的一般逛哪些网站/北京网站优化常识
  • 垦利疫情最新消息今天/朔州网站seo
  • 如何利用php开源系统建立php网站/网络营销策划方案书范文
  • flash网站php源码/青岛网络推广公司哪家好
  • 南昌网站排名推广/做个网页需要多少钱?
  • 接网站建站公司/百度指数下载