我需要帮助才能完成以下任务:
我在数组中有以下多个文件:
jack+0.txt
jack+2.txt
jack+4.txt
tim+0.txt
tim+2.txt
tim+4.txt
raph+0.txt
raph+2.txt
raph+4.txt
wells+0.txt
wells+2.txt
wells+4.txt
etc.
我想编写一个程序来执行以下操作:
if the filename is like *0.txt, a++;
if the filename is like *2.txt, b++;
if the filename is like *4.txt, c++;
所需的核心帮助是使用正则表达式(在Java中)。
答案 0 :(得分:2)
这个想法,如果你有少量不同的结局:
if (filename.endsWith("0.txt")) a++;
答案 1 :(得分:2)
我只是在加号上进行字符串拆分,然后检查第二部分。
String[] parts = s.split("+");
if (parts[1].equals("0.txt") {
} else // the rest of the tests
答案 2 :(得分:1)
for (File file : files) {
if (file.getName().matches(".*0[.]txt") {
a++;
} else if ...
}
答案 3 :(得分:0)
这将取出文件名中的数字,然后你可以做一个切换案例
string filename;
int category = Integer.parseInt(filename.substring(filename.length() - 5, filename.length() - 4))