ruby regex найти и заменить - PullRequest
       0

ruby regex найти и заменить

7 голосов
/ 18 августа 2010

У меня есть следующий вывод:
time = 15:40:32.81

И я хочу исключить : и ., чтобы они выглядели так:
15403281

Я пытался сделать

time.gsub(/\:\s/,'')

но это не сработало.

Ответы [ 4 ]

11 голосов
/ 18 августа 2010
"15:40:32.81".gsub(/:|\./, "")
5 голосов
/ 18 августа 2010
time = '15:40:32.81'
numeric_time = time.gsub(/[^0-9]+/, '')
# numeric_time will be 15403281

[^0-9] указывает класс символов , содержащий любой символ, который не является цифрой (^ в начале класса отрицает его), который затем будет заменен пустой строкой(или, другими словами, удалено).

(Обновлено для замены \d на 0-9 для ясности, хотя они эквивалентны).

3 голосов
/ 19 августа 2010

Если вы хотите быть модным и использовать объект реального времени ...

time = Time.now
time.strftime("%H%M%S") + time.usec.to_s[0,2]
# returns "15151788"
2 голосов
/ 29 сентября 2010
time.delete ':.'

Но это отредактирует вашу переменную. Если ты не хочешь этого:

time.dup.delete ':.'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...