Groovy Goodness: Replace Characters in a String with CollectReplacements
Join the DZone community and get the full member experience.
Join For FreeWe can use the collectReplacements(Closure)
method to replace characters in a String
. We pass a closure to the method and the closure is invoked for each character in the String
value. If we return null
the character is not transformed, otherwise we can return the replacement character.
def s = 'Gr00vy is gr8' def replacement = { // Change 8 to eat if (it == '8') { 'eat' // Change 0 to o } else if (it == '0') { 'o' // Do not transform } else { null } }
assert s.collectReplacements(replacement) == 'Groovy is great'Code written with Groovy 2.1.6
Published at DZone with permission of Hubert Klein Ikkink, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments