Частота повторения букв по шаблону из файла
У меня есть два файла, в одном лежит текс, во втором файле лежат шаблоны.
К примеру слово: Холода.
Шаблон на выборку 'о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 и так далее.