首页 > 编程语言 >C#判断字符串是否满足多个条件中的任意一个条件的逻辑

C#判断字符串是否满足多个条件中的任意一个条件的逻辑

时间:2024-07-30 10:18:12浏览次数:13  
标签:string C# 截取 int Add 条件 字符串 dataTable row

// 示例:初始化DataTable并填充数据
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Length", typeof(int));
dataTable.Columns.Add("StartIndex", typeof(int));
dataTable.Columns.Add("EndIndex", typeof(int));
dataTable.Columns.Add("Substring", typeof(string));

        // 第一笔数据: 內容長度5, 截取開始位置2, 截取結束位置4, 截取內容DK3  
        dataTable.Rows.Add(5, 2, 4, "AB3");//判断字符串的第2位到第4位是否为AB3
        // 第二笔数据: 內容長度6, 截取開始位置1, 截取結束位置3, 截取內容CP7  
        dataTable.Rows.Add(6, 1, 3, "CD7");//判断字符串的第1位到第3位是否为CD7

        // 假设在某个事件处理程序中,比如按钮点击事件,执行检查  
        string textBoxContent = txt_banchangdaoru.Text; // 获取文本框内容  

        bool isMatched = false; // 标志位,表示是否匹配了某个条件  

        // 遍历DataTable的每一行  
        foreach (DataRow row in dataTable.Rows)
        {
            int requiredLength = (int)row["Length"]; // 获取需要的长度  
            int startIndex = (int)row["StartIndex"]; // 获取截取开始位置  
            int endIndex = (int)row["EndIndex"]; // 获取截取结束位置  
            string requiredSubstring = (string)row["Substring"]; // 获取需要匹配的截取内容  

            // 检查文本框内容长度是否满足当前行的长度要求  
            if (textBoxContent.Length == requiredLength)
            {
                // 截取文本框内容并检查是否与所需截取内容匹配  
                string substring = textBoxContent.Substring(startIndex-1, endIndex - startIndex+1);
                if (substring == requiredSubstring)
                {
                    // 如果满足条件,则设置标志为true并跳出循环  
                    isMatched = true;
                    MessageBox.Show("文本框内容满足条件!");
                    break; // 跳出循环,因为已经找到匹配项  
                }
            }
        }

        // 如果循环结束后都没有满足条件的,那么就表示都不满足  
        if (!isMatched)
        {
            MessageBox.Show("文本框内容不满足任何条件!");
        }

标签:string,C#,截取,int,Add,条件,字符串,dataTable,row
From: https://www.cnblogs.com/xynmw/p/18331647

相关文章

  • [USACO1.5] 八皇后 Checker Challenge 题解
    [USACO1.5]八皇后CheckerChallenge题目描述一个如下的\(6\times6\)的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列\(2\4\6\1\3\5\)来描述,第\(i\)个数字表示在......
  • RuntimeError:permute(sparse_coo):张量输入中的维度数与所需维度排序的长度不匹配
    因此,我使用这个剪辑模型来执行一些标记任务。但是当我使用剪辑模型的文本编码器时,它会出现以下错误:<ipython-input-117-4c513cc2d787>inforward(self,batch)34print(y.size())35print(y.dim())--->36y=self.text_encoder(y)37......
  • 如何从 scipy.interpolate.BSpline 中提取 BSpline 基础
    在这个问题我向社区询问了scipy.interpolate.splev如何计算样条线基础。我的目标是通过预先计算asplev来更快地计算样条线bsplinebasis并通过执行以下操作来生成曲线basis到controlpoint点积。从那时起一个新......
  • mtcnn和yolov5
    MTCNN(Multi-taskCascadedConvolutionalNetworks,多任务级联卷积网络)和YOLOv5(YouOnlyLookOnceversion5,第五代实时目标检测系统)是两种流行的计算机视觉模型,它们都用于目标检测任务,但具有不同的架构和特点:1.**MTCNN**:  -MTCNN是一种用于人脸检测的深度学习模型,由三......
  • RocketMQ知识总结(基本原理)
    文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/文章收录在网站:http://hardyfish.top/基本原理总体架构图零拷贝零拷贝技术是一个思想,指的是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另......
  • CH573RTC
    代码参考:#include"CH57x_common.h"voidDebugInit(void){GPIOA_SetBits(GPIO_Pin_9);GPIOA_ModeCfg(GPIO_Pin_9,GPIO_ModeOut_PP_5mA);UART1_DefInit();}intmain(){SetSysClock(CLK_SOURCE_PLL_60MHz);GPIOA_ModeCfg(GPIO_Pin_Al......
  • macOS Sonoma 14.6 (23G80) 正式版发布,ISO、IPSW、PKG 下载
    macOSSonoma14.6(23G80)正式版发布,ISO、IPSW、PKG下载2024年7月30日凌晨,macOSSonoma14.6发布,本更新提供了重要的错误修复和安全更新,建议所有用户安装。同时带来了macOSVentura13.6.8和macOSMonterey12.7.6安全更新。请访问原文链接:https://sysin.org/blog/......
  • macOS Sequoia 15.1 beta (24B5009l) ISO、IPSW、PKG 下载
    macOSSequoia15.1beta(24B5009l)ISO、IPSW、PKG下载iPhone镜像、Safari浏览器重大更新、备受瞩目的游戏和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:https://sysin.org/blog/macOS-Sequoia/,查看最新版。原创作品,转载请保留出处。作者主页......
  • 解决mv cp rm 时文件个数太多Argument list too long报错
    问题今天复制文件时出现“Argumentlisttoolong”的问题,简单理解就是你的目录下文件个数太多了,命令参数太长,执行失败解决方法findceshi/-name"*.html"|xargs-imv{}OCRhtml1解释一下:findceshi/-name".html"是指在源文件夹ceshi下查找名为.html的文件,即所有的html后......
  • Winform程序控制网络继电器(康耐德,泥人..)运用Socket,TCP协议
    //继电器官网查看命令https://www.konnad.com/service/download/product-model/sdd4040-ad3staticbyte[]DOON=newbyte[]{0x00,0x01,0x00,0x00,0x00,0x06,0xFF,0x05,0x00,0x64,0xFF,0x00};//控制继电器打开(DO-1灯亮)staticbyte[]DOOFF=new......