Mark
06/16/2021, 3:59 AMclass StringReplacer(private val replacementMap: Map<String, String>) {
private val regex = replacementMap.keys
.joinToString(separator = "|") { "\\Q$it\\E" }
.toRegex()
fun replace(input: CharSequence) = regex.replace(input) { mr ->
replacementMap[mr.value]!!
}
companion object {
operator fun invoke(vararg pairs: Pair<String, String>) = StringReplacer(mapOf(*pairs))
}
}