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 ':.'