Мне нужно написать функцию, которая подсчитывает, сколько раз встречается подстрока в тексте, и возвращает карту (строка - рассчитывает)
Я пытался сделать это, используя .contains, но он не учитывает множественные вхождения в одном слове («la» в «lalala»), и теперь я застрял в том, как это исправить.
fun countSubstrings(inputName: String, substrings: List<String>): Map<String, Int> {
val map = mutableMapOf<String, Int>()
var tempCounter = 0
for (i in 0 until substrings.size) {
for (line in File(inputName).readLines()) {
for (word in line.split(" ")) {
if (word.contains(substrings[i], true)) tempCounter++
}
}
map.put(substrings[i], tempCounter)
tempCounter = 0
}
return map
}
Итак, я ожидаю, что эта функция будет подсчитывать слова, 2-3 подстроки символов и даже 1 подстроку символов.