मैं आकार की परवाह किए बिना एक स्ट्रिंग से अंतिम पात्रों को खींचने का एक तरीका ढूंढ रहा हूं। इन तारों को उदाहरण में लें:
"abcd: efg: 1006746"
"bhddy: nshhf36: 1006754"
"hfquv: nd: 5894254"
जैसा कि आप देख सकते हैं, पूरी तरह से यादृच्छिक स्ट्रिंग्स, लेकिन उनके पास अंत में 7 नंबर हैं। मैं उन 7 नंबरों को कैसे ले पाऊंगा?
संपादित करें:
मुझे बस एहसास हुआ कि String[] string = s.split(": ");यहाँ बहुत अच्छा काम होगा, जब तक कि मैं संख्याओं के लिए स्ट्रिंग [2] और बीच में किसी भी चीज के लिए स्ट्रिंग [1] कहूं।
String.split(), लेकिन यह ध्यान देने योग्य है कि हर बार जब आप इसे कहते हैं, तोs.split(": ")एक नया संकलन करने जा रहा हैjava.uitl.regex.Pattern, फिर उस पैटर्न के साथ अपने स्ट्रिंग का मिलान करें, एक regexMatcherऔरArrayListइससे पहलेString[]कि वह वापस आ जाए। यह अपेक्षाकृत धीमा होगा और इस समस्या को हल करने के लिए आवश्यकता से कहीं अधिक आवंटित करेगा। क्या यह मामला आपके आवेदन की प्रकृति पर निर्भर करता है। मैं आमतौर परsplit()तब तक बचता हूं जब तक मुझे वास्तव में इसकी आवश्यकता नहीं है। (ध्यान दें किsplit()है नहीं regex का उपयोग करता है, तो आप एक ही चरित्र पर अलग हो गए।)