मैं निम्नलिखित उत्पादन:
time = 15:40:32.81
माणिक regex खोज और बदल
और मैं और .
है कि यह इस तरह दिखता है :
को खत्म करना चाहते हैं तो:
15403281
मैं एक
कर की कोशिश कीtime.gsub(/\:\s/,'')
लेकिन यह काम नहीं किया।
मैं निम्नलिखित उत्पादन:
time = 15:40:32.81
माणिक regex खोज और बदल
और मैं और .
है कि यह इस तरह दिखता है :
को खत्म करना चाहते हैं तो:
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 निर्दिष्ट करता है।
(स्पष्टता के लिए 0-9
के साथ \d
को बदलने के लिए अपडेट किया गया, हालांकि वे बराबर हैं)।
आपकी सभी मदद के लिए धन्यवाद! – rahrahruby
+ आवश्यक नहीं है; time.gsub (/ [^ \ d] /, "") बस काम करता है। – todb
@todb सच है, लेकिन स्ट्रिंग के एक बड़े हिस्से को एक बार में प्रतिस्थापित किया जाएगा यदि एकाधिक गैर-संख्यात्मक वर्ण पंक्ति में दिखाई देते हैं। –
आप कल्पना हो सकता है और एक वास्तविक समय वस्तु उपयोग करना चाहते हैं ...
time = Time.now
time.strftime("%H%M%S") + time.usec.to_s[0,2]
# returns "15151788"
time.delete ':.'
लेकिन यह अपने चर को संपादित करेंगे। यदि आप इसे नहीं चाहते हैं:
time.dup.delete ':.'
असल में 'हटाएं!' जगह में हटाएंगे। फिर फिर यह जवाब पुराना है, इसलिए कौन जानता है कि 2010 में क्या चीजें पसंद हैं। – nus
अच्छा उत्तर, धन्यवाद – rahrahruby