在具有最高版本号的数组中查找字符串

时间:2017-07-10 16:41:40

标签: arrays vb.net visual-studio

我正在编写一个简单的脚本来编写用户正在处理的脚本。此脚本应检查当前工作文件夹中的最新版本,并将版本增加1。

以下是我正在使用的文件夹之一的示例,按名称排序。

>     TES_DAS_010_COMP_ARTIST_v001_01.comp
>     TES_DAS_010_COMP_ARTIST_v005_01.comp
>     TES_DAS_010_COMP_ESKI_v002_01.comp
>     TES_DAS_010_COMP_ESKI_v004_01.comp
>     TES_DAS_010_COMP_ESKI_v004_02.comp
>     TES_DAS_010_COMP_ESKI_v004_03.comp
>     TES_DAS_010_COMP_ESKI_v006_01.comp
>     TES_DAS_010_COMP_ESKI_v007_01.comp
>     TES_DAS_010_COMP_NEWGUY_v008_01.comp
>     TES_DAS_010_COMP_NEWGUY_v003_01.comp

现在我有了要升级版本的用户ESKI。所以我需要找到一种方法来确定最新版本是什么,并从中增加。 在此示例中,当前版本为“TES_DAS_010_COMP_NEWGUY_v008_01.comp”。

如何定位最新的文件,以便制作名为“TES_DAS_010_COMP_ESKI_v009_01.comp”的新版本

1 个答案:

答案 0 :(得分:1)

只是我会做什么的基本指南,也许我在这里遗漏了一些东西,但这似乎只是一个带转换和比较检查的标准循环吗?如果我错过了一个复杂的部分,请原谅我。

使用循环遍历数组,使用indexof找到版本号的常量起始索引,可以使用“_v”作为搜索条件,然后从字符串的substring开始新的计算起始索引并在3个字符后结束,将三个字符串解析/转换为数字,将其存储在比较变量中,并检查循环的每次迭代是否大于当前存储的最高值。一旦你完成了你的编号,你可以使用linq用一小块代码来完成它。