java - Extracting digits from a string -
मेरे पास जावा स्ट्रिंग ऑब्जेक्ट है।
चलिए >
स्ट्रिंग str = "5N7BS में संख्या 33 और 55c हो रही है"; वांछित आउटपुट: 33 55
पैटर्न p = Pattern.compile ("[0-9] +"); Matcher m = p.matcher ("5N7BS में संख्या 33 और 55 हो रही है"); जबकि (m.find ()) {System.out.println (m.group ()); } आउट कोड 5 7 33 55 को आउटपुट देता है। मुझे केवल वह आउटपुट चाहिए जो में वर्णों के बाद वर्णों का पालन किया जाता है। उदाहरण के लिए: 55 सी आउटपुट: - 55
लेकिन 55c5 या cc5 के लिए मुझे कोई परिणाम नहीं चाहिए।
अग्रिम धन्यवाद: -)
आप जोड़ने के लिए शब्द सीमाओं ( \\ b ) का उपयोग कर सकते हैं आप चाहते हैं कि बाधाओं यह केवल संख्या से मेल खाती है अगर यह सीमा के तुरंत बाद होती है, और अगर इसके बाद अगले शब्द सीमा से पहले अक्षर (यदि कुछ भी) से कुछ भी नहीं है।
नोट करें कि यह संख्या को पकड़ने के लिए एक समर्पित समूह का उपयोग करता है:
पैटर्न p = Pattern.compile ("\\ b ([0-9] +) [a-zA-Z] * \\ b"); Matcher m = p.matcher ("5N7BS में संख्या 33 और 55c हो रही है"); जबकि (m.find ()) {System.out.println (m.group (1)); }
Comments
Post a Comment