C#判断带数字的字符串数组连续性的两种方式

  给定一个包含数字的字符串数组,需要判断数组中每项包含的数字是否连续增长。
  如果数组项中的非数字字符有规律,例如给数字增加固定的前缀、后缀等,则较快的判断方式是提前按规则生成包含连续数字的字符串数组,直接判断给定的字符串数组是否与其相同即可。

string[] definedClass = { "第1课", "第2课", "第3课", "第4课", "第5课", "第6课", "第7课", "第8课", "第9课", "第10课" };string[] testArray1 = { "第1课", "第2课", "第8课", "第4课", "第X课", "第6课" };bool compareResult = true;for(int i = 0; i < definedClass.Length && i<testArray1.Length; i++)
{if (testArray1[i] != definedClass[i]);{compareResult = false; break;}
}Console.WriteLine(compareResult? "testArray1为连续数组":"testArray1为非连续数组");compareResult = true;
string[] testArray2 = { "第1课", "第2课", "第3课", "第4课" };for (int i = 0; i < definedClass.Length && i < testArray2.Length; i++)
{if (testArray2[i] != definedClass[i]) {compareResult = false;break;}
}
Console.WriteLine(compareResult? "testArray2为连续数组":"testArray2为非连续数组");

  如果数组项中的非数字字符没有规律,则需将每项字符串转换为数字,然后判断数字是否连续,根据参考文献1-2给出的做法,可以使用正则表达式去除字符串中的非数字字符,然后再判断数字连续性。示例代码如下:

string[] testArray1 = { "1bc", "afda2afd", "@#8", "4你好", "hello6课" };
Console.WriteLine(PublicMethod.IsContinuousArray(testArray1) ? "testArray1为连续数组":"testArray1为非连续数组");string[] testArray2 = { "a1课", "第2c", "fda第3课", "第4课abc" };
Console.WriteLine(PublicMethod.IsContinuousArray(testArray2) ? "testArray2为连续数组" : "testArray2为非连续数组");public static bool IsContinuousArray(string[] oriArray)
{List<int> lstArray = new List<int>();foreach (string s in oriArray){lstArray.Add(Convert.ToInt32(Regex.Replace(s, @"[^0-9]+", "")));}for (int i = 1; i < lstArray.Count; i++){if (lstArray[i] - lstArray[i - 1] != 1){return false;}}return true;
}

参考文献:
[1]https://blog.csdn.net/weixin_41480563/article/details/140916070
[2]https://blog.51cto.com/qubernet/5160884

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/457607.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考系统分析师知识点二四:错题集11-20

前言 今年报考了11月份的软考高级&#xff1a;系统分析师。 考试时间&#xff1a;11月9日。 倒计时&#xff1a;13天。 目标&#xff1a;优先应试&#xff0c;其次学习&#xff0c;再次实践。 复习计划第二阶段&#xff1a;刷选择题&#xff0c;搜集错题集反复查看&#x…

Pr 视频效果:波形变形

视频效果/扭曲/波形变形 Distort/Wave Warp 波形变形 Wave Warp效果用于在剪辑上创建类似波浪的动态变形效果。 此效果会自动动画化&#xff0c;波形以恒定速度移动。要改变速度或停止波动&#xff0c;需要设置关键帧。 ◆ ◆ ◆ 效果选项说明 通过调整波形的类型、高度、宽度…

《分布式机器学习模式》:解锁分布式ML的实战宝典

在大数据和人工智能时代&#xff0c;机器学习已经成为推动技术进步的重要引擎。然而&#xff0c;随着数据量的爆炸性增长和模型复杂度的提升&#xff0c;单机环境下的机器学习已经难以满足实际需求。因此&#xff0c;将机器学习应用迁移到分布式系统上&#xff0c;成为了一个不…

Flutter鸿蒙next 中如何实现 WebView【跳、显、适、反】等一些基础问题

✅近期推荐&#xff1a;求职神器 https://bbs.csdn.net/topics/619384540 &#x1f525;欢迎大家订阅系列专栏&#xff1a;flutter_鸿蒙next &#x1f4ac;淼学派语录&#xff1a;只有不断的否认自己和肯定自己&#xff0c;才能走出弯曲不平的泥泞路&#xff0c;因为平坦的大路…

【计算机操作系统】课程 作业二 进程与线程 408考研

作业二 进程与线程 1.根据下图&#xff0c;回答问题。&#xff08;共65分&#xff09; &#xff08;1&#xff09; 请简述进程发生状态变迁1、3、4、6、7的原因。&#xff08;每条5分.共25分&#xff09; 1表示操作系统把处于创建状态的进程移入就绪队列&#xff1b;3表示进程…

.Net 8 Web API CRUD 操作

本次介绍分为3篇文章&#xff1a; 1&#xff1a;.Net 8 Web API CRUD 操作https://blog.csdn.net/hefeng_aspnet/article/details/143228383 2&#xff1a;在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/1…

【LeetCode:264. 丑数 II + 小根堆】

在这里插入代码片 &#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕…

stm32 使用J-Link RTT Viewer打印日志

文章目录 stm32 使用J-Link RTT Viewer一、RTT功能简介二、准备工作安装J-Link软件驱动&#xff1a;获取RTT驱动文件&#xff1a;配置工程&#xff1a; 三、使用RTT打印日志初始化RTT&#xff1a;打印日志&#xff1a;查看日志&#xff1a; 四、高级功能封装print_log函数&…

021、深入解析前端请求拦截器

目录 深入解析前端请求拦截器&#xff1a; 1. 引言 2. 核心实现与基础概念 2.1 基础拦截器实现 2.2 响应拦截器配置 3. 实际应用场景 3.1 完整的用户认证系统 3.2 文件上传系统 3.3 API请求缓存系统 3.4 请求重试机制 3.5 国际化处理 4. 性能优化实践 4.1 请求合并…

三周精通FastAPI:15 请求文件和同时请求表单+文件

官网文档&#xff1a;请求文件 - FastAPI 请求文件 File 用于定义客户端的上传文件。 from fastapi import FastAPI, File, UploadFileapp FastAPI()app.post("/files/") async def create_file(file: bytes File()):return {"file_size": len(file)}…

直播系统源码技术搭建部署流程及配置步骤

系统环境要求 PHP版本&#xff1a;5.6、7.3 Mysql版本&#xff1a;5.6&#xff0c;5.7需要关闭严格模式 Nginx&#xff1a;任何版本 Redis&#xff1a;需要给所有PHP版本安装Redis扩展&#xff0c;不需要设置Redis密码 最好使用面板安装&#xff1a;宝塔面板 - 简单好用的…

Kafka消费者故障,出现活锁问题如何解决?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka消费者故障&#xff0c;出现活锁问题如何解决&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; Kafka消费者故障&#xff0c;出现活锁问题如何解决&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资…

【C++】string类 (模拟实现详解 下)

我们接着上一篇【C】string类 &#xff08;模拟实现详解 上&#xff09;-CSDN博客继续对string模拟实现。从这篇内容开始&#xff0c;string相关函数的实现就要声明和定义分离了。 1.reserve、push_back和append 在string.h的string类里进行函数的声明。 void reserve(size_…

Maven项目报错:invalid LOC header (bad signature)

文章目录 Maven项目报错&#xff1a;invalid LOC header (bad signature)1. Maven项目加载或Pom.Xml刷新后仍出现如下错误2. 解决方法 Maven项目报错&#xff1a;invalid LOC header (bad signature) 1. Maven项目加载或Pom.Xml刷新后仍出现如下错误 错误提示&#xff1a; in…

【Spring MVC】请求参数的获取

我的主页 1. 获取 URL 中的参数 获取 URL 中的参数是通过 PathVariable 注解实现的 RequestMapping("/article/{articleId}") public String method12(PathVariable("articleId") String articleId){return "接收到参数articleId: " articleI…

书生第四期作业:L0G4000 任务作业

模型下载 在github-codespace 登录codespace安装依赖&#xff1a; 运行下载的py文件&#xff0c;下载模型配置文件&#xff0c; 下载完成 在intern-studio开发机 下载配置文件 下载完成

2024系统架构师---真题考试知识点

1.逻辑地址的构成是“逻辑地址&页内地址”&#xff0c;而物理地址的构成“物理块号&页内地址”&#xff0c;因此只要找出逻辑地址中那几位表示逻辑页号基本就完成了。页内大小4k4*2的10次方2的12次方&#xff0c;可以得出页内地址占12位&#xff0c;因此1B1AH的后12位&…

群控系统服务端开发模式-系统架构图

一、开发服务(1.0版本)&#xff1a; 平台前端服务、平台api接口服务、国外api处理服务&#xff1b; 二、开发服务(2.0版本)&#xff1a; 国内客户端前端服务、国内客户端api接口服务、国外客户端前端服务、国外客户端api接口服务&#xff1b; 三、运行服务(1.0版本)&#xff…

JavaWeb合集22-Apache POI

二十二、Apache POI Apache POI是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用POI在Java 序中对Miscrosoft Office各种文件进行读写操作。一般情况下&#xff0c;POI都是用于操作Excel文件。 使用场景&#xff1a;银行网银系统导出…

【Android】Kotlin教程(2)

文章目录 1.空安全2.let安全调用3.非空断言操作符!!4.空合并操作符 ?:5.异常6.先决条件函数7.substring8.split函数9.replace10.字符串比较11.安全转换函数12.标准库函数1.apply2.run3.with4.also5.takeIf6.takeUnless 1.空安全 为了避免NullPointerException&#xff0c;Kot…