0

次のことを達成するために助けが必要です:

配列内に次のようなファイルがいくつかあります。

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の場合)を使用することです。

4

4 に答える 4

2

エンディングが少し異なる場合のアイデア:

if (filename.endsWith("0.txt")) a++;
于 2012-10-11T14:51:15.393 に答える
2

プラス記号で文字列分割を行い、2番目の部分を確認します。

String[] parts = s.split("+");
if (parts[1].equals("0.txt") {

} else // the rest of the tests
于 2012-10-11T14:51:36.750 に答える
1
for (File file : files) {
    if (file.getName().matches(".*0[.]txt") {
        a++;
    } else if ...
}
于 2012-10-11T14:51:53.320 に答える
0

これにより、ファイル名から番号が削除され、ケースを切り替えることができます

string filename;

int category = Integer.parseInt(filename.substring(filename.length() - 5, filename.length() - 4))
于 2012-10-11T14:53:17.717 に答える