Подпись анонимной функции, которую вы передаете replace
, неверна. Как говорится в сообщении об ошибке, функция должна иметь тип (MatchResult) -> CharSequence
.
Это будет работать, поскольку String
является подклассом CharSequence
:
val result = "Some String".replace(Regex("[S]"), fun(mr: MatchResult) : String {
return "s"
}) // result will be "some string"
Примечание: Вместо анонимной функции вы также можете использовать лямбду, которая может выводить параметр и возвращаемый тип:
val result = "Some String".replace(Regex("[S]")) {
"s"
}
MatchResult
будет доступен как it
тогда.