Thursday, 15 January 2015

ruby - Parsing strings that may have different values each time -


मेरे पास निम्न स्ट्रिंग है:

  "--- \ n-: @error : 'अमान्य फोन नंबर प्रारूप:' '' कृपया जांचें कि फोन नंबर के लिए आपका प्रारूप सही है। '\ N-: @error:' अमान्य आईडी भेजा गया था: '\ n-: @error:' अमान्य तिथि प्रारूप: '\ n " 

मैं केवल त्रुटि संदेशों को वापस करने का प्रयास कर रहा हूं। तो ऐसा होगा

  • "अमान्य फ़ोन नंबर प्रारूप:"
  • "कृपया जांचें कि फ़ोन नंबर के लिए आपका प्रारूप सही है। "
  • " अमान्य आईडी भेजा गया था: "
  • " अमान्य दिनांक स्वरूप: "

कुछ संदेश जो लौटा दिए जाएंगे, ऊपर दिए गए शब्दों से अलग होंगे, इसलिए मुझे नहीं लगता कि regex मिलान का उपयोग करना सबसे अच्छा तरीका होगा। कोई भी विचार मैं इस स्ट्रिंग से केवल त्रुटि संदेशों को कैसे निकाल सकता हूं?

यह प्रयास करें, यह सही नहीं है, लेकिन चाल करें।

  s = "--- \ n-: @error: 'अमान्य फोन नंबर प्रारूप:' '' 'कृपया जांचें कि फोन नंबर के लिए आपका प्रारूप है सही है। '\ N-: @error:' अमान्य आईडी भेजा गया था: '\ n-: @error:' अमान्य दिनांक प्रारूप: '\ n "# स्कैन को उद्धरण चिह्नों के बीच तार मिलेगा जो स्वयं उद्धरण नहीं हैं # सरणियों की सरणी # चपटे से इसे एक एकल सरणी # gsub बना दिया जाएगा, फिर पट्टी परिणाम को सामान्यीकृत करेगी। Msgs = s.scan (/ '([^'] +) '/)। Map {| (msg) | Msg.gsub (/ (\। | \ S +) /, '') .strip} # ["अमान्य फ़ोन नंबर प्रारूप:", "कृपया जांचें कि फ़ोन नंबर के लिए आपका प्रारूप सही है", # "अमान्य आईडी भेजा गया था : ", #" अमान्य तिथि प्रारूप: "]  

No comments:

Post a Comment