I'm looking at the string.Map
function which must take a mapping function which returns a rune. I would like to eliminate runes that resolves false with a call to: unicode.IsPrint()
func Map(mapping func(rune) rune, s string) string
My function looks something like this:
func main() {
func CleanUp(s string) string {
clean := func(r rune) rune {
if unicode.IsPrint(r) || r == rune('\n') {
return r
}
return rune('')
}
strings.Map(clean, s)
}
It should clean something like this "helloworld ' \x10"
to "helloworld ' "
But rune('')
is invalid. How can I return a blank or empty rune?
If you want to eliminate runes, a "blank rune" is not the way to go. That would not eliminate anything.
Assuming you're talking about strings.Map
, the docs say
If mapping returns a negative value, the character is dropped from the string with no replacement.
Have your mapper return a negative value to indicate that a rune should be discarded.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With