Allow optional parameter in String#strip and related
String#strip and related methods have a hardcoded match on whitespace, defined as "null, horizontal tab, line feed, vertical tab, form feed, carriage return, space". It would be nice to allow a parameter to specify the characters you want to strip.
This would result in a kind of marriage between
String#chomp. The first one is an example on how to specify character classes, the second one is an example on how to pass an optional parameter.
Examples how this would work:
"hellooo ".rstrip #=> "hellooo" "hellooo ".rstrip(" ") #=> "hellooo" "hellooo ".rstrip(" o") #=> "hell" "hellooo ".rstrip("o ") #=> "hell" "hellooo ".rstrip("o") #=> "hellooo " "hellooo ".chomp(" ") #=> "hellooo ", only replaces one character, thus not a sensible alternative
The same behaviour can be achieved by using
String#sub and the correct anchors, but I think an optional parameter to
String#strip is cleaner to read. It's probably faster too, since we don't have to initialize a regex state machine.