【发布时间】:2010-11-21 06:27:56
【问题描述】:
我有以下输出:time = 15:40:32.81
我想消除 : 和 . 使其看起来像这样:15403281
我试过了
time.gsub(/\:\s/,'')
但这没有用。
【问题讨论】:
我有以下输出:time = 15:40:32.81
我想消除 : 和 . 使其看起来像这样:15403281
我试过了
time.gsub(/\:\s/,'')
但这没有用。
【问题讨论】:
"15:40:32.81".gsub(/:|\./, "")
【讨论】:
time = '15:40:32.81'
numeric_time = time.gsub(/[^0-9]+/, '')
# numeric_time will be 15403281
[^0-9] 指定一个 character class 包含任何不是数字的字符(^ 在类的开头否定它),然后将被一个空字符串替换(或者,换句话说,被删除)。
(为了清楚起见,已将\d 替换为0-9,尽管它们是等效的)。
【讨论】:
\D 可以用来代替字符类。
如果您想花哨并使用实际的时间对象...
time = Time.now
time.strftime("%H%M%S") + time.usec.to_s[0,2]
# returns "15151788"
【讨论】:
time.delete ':.'
但它会编辑您的变量。如果你不想要它:
time.dup.delete ':.'
【讨论】:
delete! 将执行删除。然后这个答案又是旧的,所以谁知道 2010 年会发生什么。