From: "Earlopain (Earlopain _) via ruby-core" Date: 2026-07-11T16:19:07+00:00 Subject: [ruby-core:126050] [Ruby Feature#12969] Allow optional parameter in String#strip and related Issue #12969 has been updated by Earlopain (Earlopain _). Status changed from Open to Closed https://bugs.ruby-lang.org/issues/21552 implemented this ---------------------------------------- Feature #12969: Allow optional parameter in String#strip and related https://bugs.ruby-lang.org/issues/12969#change-118046 * Author: herwinw (Herwin Quarantainenet) * Status: Closed ---------------------------------------- `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#delete` and `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: ```ruby "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. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/