Thursday 15 January 2015

date - Parsing Time from a String in Ruby -


मेरे पास कुछ तार हैं जो दिनांक हैं, जो मुझे regex का उपयोग करते हैं

  d = myData .scan (/ .... \ d * .. \ d {4} /)   

उदाहरण के लिए, "जून 15, । मैं इसे पार्स करना चाहूंगा और उन्हें महीने के संक्षिप्त नाम से पूर्ण महीने में बदलूँगा।

यह काम करता है ('समय' की आवश्यकता होती है):

  टाइम.परसे ("15 जून, 2013 ")। Strftime ("% B% d,% Y ") = & gt; "जून 15, 2013"   

लेकिन ऐसा नहीं है:

  टाइम.परसे ("डी")। Strftime ("% B% d, जैसा कि मैंने कहा, वास्तविक तिथियां बदल जाती हैं, और मैं इसे स्क्रिप्ट के साथ स्वचालित करने की कोशिश कर रहा हूं। किसी भी सुझाव की सराहना की जाएगी।  

UPDATE: क्षमा करें ???? मैं सिर्फ एक कदम लंघन था, मुझे लगता है। मैंने सोचा कि मैंने पहले से ही यह कोशिश की, लेकिन मुझे नहीं लगता। यह काम करता है:

  d = myData.scan (/ .... \ d * .. \ d {4} /) d2 = समय.पार्स ("d") तिथि = समय। पार्स ("डी 2")। Strftime ("% B% d,% Y")    

< P> उद्धरणों में आपके चर नामों को डालने से काम नहीं हो रहा है इसके बजाय:
  टाइम.परसे ("डी")   

आपको इसका उपयोग करना होगा:

  समय पार्स (डी)   

इसके अलावा स्कैन एक सरणी देता है।

  "15 जून, 2013" .scan (/ .. .. \ d * .. \ d {4} /) # = & gt; ["जून 15, 2013"]   

एआरएक्स का पहला तत्व प्राप्त करने के लिए [0] जोड़ें:

  "15 जून , 2013 ".scan (/ .... \ d * .. \ d {4} /) [0] # = & gt; "जून 15, 2013"   

पूर्ण उदाहरण:

  my_data = "15 जून, 2013" d = my_data.scan (/ .... \ D * .. \ d {4} /) [0] तिथि = समय.पार्स (डी) .स्ट्राफ्टटाइम ("% B% d,% Y") # = & gt; "15 जून, 2013"    

No comments:

Post a Comment