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

// 示例:初始化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("文本框内容不满足任何条件!");
        }
posted @ 2024-07-30 10:14  txtspring  阅读(72)  评论(0)    收藏  举报