fork download
  1. import java.util.*
  2.  
  3. val pattern = """%NAME(\d+)%""".toRegex()
  4. fun String.replaceWithNames(names: List<String>): String {
  5. return pattern.replace(this) { m ->
  6. names.getOrNull(m.groupValues[1].toInt()) ?: m.value
  7. }
  8. }
  9.  
  10. fun main(args: Array<String>) {
  11. val lst = listOf("Bob", "Alice", "Tom")
  12. println( "Lorem ipsum %NAME0% dolor sit amet %NAME1%, consectetur %NAME2% adipiscing elit. Wrong %NAME11%".replaceWithNames(lst) )
  13. }
Success #stdin #stdout 0.13s 42984KB
stdin
Standard input is empty
stdout
Lorem ipsum Bob dolor sit amet Alice, consectetur Tom adipiscing elit. Wrong %NAME11%