Ruby gsub:有更好的方法吗?
我需要删除所有前导和尾随非数字字符。 这就是我提出的。 是否有更好的实施。
puts s.gsub(/^\D+/,'').gsub(/\D+$/,'')
而不是消除你不想要的东西,通常更清楚地选择你想要的东西(使用括号)。 此外,这只需要一次正则表达式评估:
s.match(/^\D*(.*?)\D*$/)[1]
或者,这个方便的简写:
s[/^\D*(.*?)\D*$/, 1]
也许是一个#gsub(/(^\D+)|(\D+$)/, '')
此外,当有疑问Rubular它。