在Ruby中,我想从字符串中go 掉前导引号和尾随引号.引号字符将出现0或1次.例如,以下所有内容都应转换为foo,bar:
"foo,bar"
"foo,bar
foo,bar"
foo,bar
在Ruby中,我想从字符串中go 掉前导引号和尾随引号.引号字符将出现0或1次.例如,以下所有内容都应转换为foo,bar:
"foo,bar"
"foo,bar
foo,bar"
foo,bar
您也可以使用chomp
函数,但不幸的是,它只在字符串末尾起作用,假设有一个反向chomp,您可以:
'"foo,bar"'.rchomp('"').chomp('"')
实现rchomp
很简单:
class String
def rchomp(sep = $/)
self.start_with?(sep) ? self[sep.size..-1] : self
end
end
请注意,您也可以使用效率稍低的版本进行内联操作:
'"foo,bar"'.chomp('"').reverse.chomp('"').reverse
EDIT:由于Ruby 2.5,rchomp(x)
以delete_prefix
的名义提供,chomp(x)
以delete_suffix
的名义提供,这意味着您可以使用
'"foo,bar"'.delete_prefix('"').delete_suffix('"')