ruby正则表达式找到并替换

我有以下输出:
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 ':.'