Частота повторения букв по шаблону из файла

У меня есть два файла, в одном лежит текс, во втором файле лежат шаблоны.

К примеру слово: Холода.

Шаблон на выборку 'о2', скажет, что в слове должно быть две буквы 'о'.

Я написал код, который работает если шаблон просто 'о', алгоритм пробегается по тексту и находит все буквы 'о'.

Нужно чтобы алгоритм умел работать с любыми шаблонами вида: буква+количество

Как сделать, чтоб алгоритм понял, что я от него хочу?

int count = 0;

try {
    String text = Files.readString(Path.of("Z:/text.txt"));
    String templates = Files.readString(Path.of("Z:/templates.txt"));
    String[] newTemplates = templates.split(" ");


    for (String newTemplate : newTemplates) {
        for (int j = 0; j < text.length(); j++) {
            String letter = String.valueOf(text.charAt(j));
            if (letter.equals(newTemplate)) {
                count++;

            }
        }
        System.out.println(newTemplate + "  " + count);
    }

} catch (IOException e) {
    e.printStackTrace();
}

Ответы (1 шт):

Автор решения: Sergey Zh.
for (String newTemplate : newTemplates) {
    count = 0;
    String charTemplate = newTemlate.substring(0, 1);
    int countTemplate = Integer.parseInt(newTemplate.substring(1));
    for (String word : text.split(" ")) {
        if (word.split(charTemplate).length - 1 == countTemplate) {
            count++;
        }
    }
    System.out.println(newTemplate + "  " + count);
}

Замените цикл, который написан у вас на этот, должно работать. Шаблоны в файле должны идти через пробел: о1 а3 c22 b4 и так далее.

→ Ссылка