Andrey Tabakov
01/25/2023, 9:21 AMmakeString("any string with {variableOne} {variableTwo}", mapOf("variableOne" to "1", "variableTwo" to "2"))
// any string with 1 2
Sam
01/25/2023, 9:32 AMval x = 1
val s = "The value of x is $x"
Andrey Tabakov
01/25/2023, 9:34 AMStylianos Gakis
01/25/2023, 9:44 AMHelloo, {0}!
if you call it with println(MyMessages.sayHello("i18n4k"))
it will print “Hello, i18n4k!“.Andrey Tabakov
01/25/2023, 9:46 AMStylianos Gakis
01/25/2023, 9:49 AMCLOVIS
01/25/2023, 10:04 AMreplace
, and of course the entire Log4Shell debacle)CLOVIS
01/25/2023, 10:05 AMephemient
01/25/2023, 10:11 AMprivate val namedArgumentPattern = """%\((\w+)\)""".toRegex()
operator fun CharSequence.rem(namedArguments: Map<String, Any?>): String =
namedArgumentPattern.replace(this) { match ->
val (name) = match.destructured
namedArguments.getValue(name).toString()
}
println("%(foo), %(bar)!" % mapOf("foo" to "Hello", "bar" to "world"))
ephemient
01/25/2023, 10:12 AM