0

我正在编写一个程序来检查目录中的文件名并确保它们遵循某些标准,其中一个标准是在文件名的末尾它应该有一个版本,例如“file1V01.txt,file1V02.txt”。 ..file1V99.txt”。

我现在使用包含“v01”一直到“v99”的字符串数组99长,然后在文件名字符串上运行包含函数。

我的问题是,有没有办法提高效率,因为检查每个文件的 99 长数组效率很低。其次,是否可以只检查文件类型之前的最后 3 个字符(例如 .txt 或 .docx)。因此,与其检查“reallylongfilenamev01.txt”,不如只检查“v01”.txt

在此先感谢您的时间。

     for(int i=0;i<99;++i)
     {
        versioncheck = name.contains(version[i]);
     }
4

1 回答 1

0

我自己使用正则表达式解决了这个问题。对于上面的示例,我使用了:

定义:

QRegExp re("^([V][\\d]*)");

然后是实现:

if(re3.exactMatch(name.mid(name.length()-10,10)))
{

}
于 2013-11-27T12:31:16.430 回答