我有以下的输出:
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]
表示一个包含任意非数字字符的字符类(在类的开头使用^
进行否定),将被替换为空字符串(或者说,即被删除)。
(更新以使\d
更改为0-9
以提高清晰度,尽管它们是等效的。)
time = Time.now
time.strftime("%H%M%S") + time.usec.to_s[0,2]
# returns "15151788"
time.delete ':.'
但它将编辑您的变量,如果您不想这样:
time.dup.delete ':.'
delete!
会直接执行删除操作。不过这个答案已经有些年头了,谁知道在2010年的时候情况是怎样的呢。 - user1115652
\D
可以替代字符类被使用。 - Daniel Vandersluis