दिलचस्प पोस्ट
जावा के थ्रेड.sleep () में जावास्क्रिप्ट के बराबर क्या है? पर्ल 5 के फ़ंक्शन प्रोटोटाइप खराब क्यों हैं? रिवर्स ऑर्डर में एक स्ट्रीम को सॉर्ट करने के लिए जावा 8 लैम्ब्डा का उपयोग कैसे करें? चेतावनी: बूटस्ट्रैप वर्ग पथ -सोर्स 1.5 के साथ संयोजन के रूप में सेट नहीं है AJAX और jQuery के साथ एचटीएमएल 5 फ़ाइल अपलोड का उपयोग करना एक विशिष्ट मान (ओरेकल) के लिए सभी टेबल्स में सभी फ़ील्ड खोजें एंड्रॉइड डिज़ाइन समर्थन लाइब्रेरी विस्तार योग्य फ़्लोटिंग एक्शन बटन (एफएबी) मेन्यू कोको टच: कैसे UIView की सीमा रंग और मोटाई बदलने के लिए? सी में एक फ्लोट को गोल करने के लिए कोई फ़ंक्शन है या क्या मुझे अपना अपना लिखना है? एक IOS 7 पारदर्शी UINavigationBar के लिए उज्ज्वल, उज्ज्वल रंग प्राप्त करना जावा में एक 2d सरणी कॉपी करें एसटीएच-एजेन्ट और की चाइना (लिनक्स) द्वारा इस्तेमाल किए जाने वाले कुंजी-जोड़े में पुटीनी जेन (विंडोज) ArrayAdapter <myClass> का उपयोग कैसे करें जावा में नियमित अभिव्यक्ति के लिए टेक्स्ट से कैसे बचें PHP में फाइल अपलोड प्रकार फ़ाइल आकार को कैसे सीमित करें?

अंतरिक्ष द्वारा स्ट्रिंग को कैसे विभाजित किया जाए

मुझे रिक्त स्थान के द्वारा मेरी स्ट्रिंग विभाजित करने की आवश्यकता है इसके लिए मैंने कोशिश की:

str = "Hello I'm your String"; String[] splited = str.split(" "); 

लेकिन यह काम करने के लिए नहीं लगता है।

Solutions Collecting From Web of "अंतरिक्ष द्वारा स्ट्रिंग को कैसे विभाजित किया जाए"

आपको क्या काम करना चाहिए अगर, हालांकि, उपलब्ध रिक्त स्थान कुछ और करने के लिए डिफ़ॉल्ट हैं … आप फ्रीस्पेस रेगेक्स का उपयोग कर सकते हैं:

 str = "Hello I'm your String"; String[] splited = str.split("\\s+"); 

इससे आपके स्ट्रिंग्स को टोकन में विभाजित करने के लिए किसी भी संख्या में निरंतर रिक्त स्थान का कारण होगा।

एक साइड नोट के रूप में, मुझे यकीन नहीं है कि "स्प्लिटेड" एक शब्द है 🙂 मेरा मानना ​​है कि विभाजन के शिकार होने की स्थिति "विभाजन" भी है। यह उन पेचीदा व्याकरण चीजों में से एक है 🙂 पिकदार होने की कोशिश नहीं की, बस लगा कि मैं इसे पास कर दूँगा!

स्वीकार्य उत्तर अच्छा है, हालांकि, ध्यान रखें कि यदि आप एक प्रमुख रिक्त स्ट्रिंग के साथ समाप्त हो जाएंगे, यदि आपका इनपुट स्ट्रिंग सफेद स्थान से शुरू होता है उदाहरण के लिए, इसके साथ:

 String str = " Hello I'm your String"; String[] splitStr = str.split("\\s+"); 

नतीजा होगा:

 splitStr[0] == ""; splitStr[1] == "Hello"; splitStr[2] == "I'm"; splitStr[3] == "Your"; splitStr[4] == "String"; 

तो आप इसे विभाजित करने से पहले अपनी स्ट्रिंग ट्रिम कर सकते हैं:

 String str = " Hello I'm your String"; String[] splitStr = str.trim().split("\\s+"); 

मुझे विश्वास है कि स्ट्रैप में एक नियमित अभिव्यक्ति डालनी चाहिए.सप्लीट कोष्ठक को समस्या का समाधान करना चाहिए। जावा स्ट्रिंग.split () विधि नियमित अभिव्यक्ति पर आधारित है ताकि आपको क्या चाहिए:

 str = "Hello I'm your String"; String[] splitStr = str.split("\\s+"); 

पी एस मुझे डर है कि मैंने आपके व्याकरण को भी ठीक किया है, कृपया अपराध न करें।

Stringutils.split() का प्रयोग करें स्ट्रिंग को सफेद Stringutils.split() से विभाजित करें। उदाहरण के लिए StringUtils.split("Hello World") "हेलो" और "विश्व" देता है;

उल्लेखित केस को हल करने के लिए हम इस तरह से अलग पद्धति का उपयोग करते हैं

 String split[]= StringUtils.split("Hello I'm your String"); 

जब हम विभाजित सरणी को प्रिंट करेंगे तो आउटपुट होगा:

नमस्ते

मैं हूँ

तुंहारे

तार

पूर्ण उदाहरण डेमो के लिए यहां देखें

इसको आजमाओ

  String str = "This is String"; String[] splited = str.split("\\s+"); String split_one=splited[0]; String split_second=splited[1]; String split_three=splited[2]; Log.d("Splited String ", "Splited String" + split_one+split_second+split_three); 

एक वैकल्पिक तरीका होगा:

 import java.util.regex.Pattern; ... private static final Pattern SPACE = Pattern.compile(" "); String[] arr = SPACE.split(str); // str is the string to be split 

इसे यहाँ देखा

अगर किसी तरह आप स्ट्रिंग स्प्लिट विधि का उपयोग नहीं करना चाहते हैं तो आप जावा में स्ट्रिंगटोकनाइज़र वर्ग का उपयोग कर सकते हैं ..

  StringTokenizer tokens = new StringTokenizer("Hello I'm your String", " "); String[] splited = new String[tokens.countTokens()]; int index = 0; while(tokens.hasMoreTokens()){ splited[index] = tokens.nextToken(); ++index; } 

प्रयत्न

 String[] splited = str.split("\\s"); 

http://download.oracle.com/javase/tutorial/essential/regex/pre_char_classes.html

अंतरिक्ष द्वारा स्ट्रिंग थूकना सरल

  String CurrentString = "First Second Last"; String[] separated = CurrentString.split(" "); for (int i = 0; i < separated.length; i++) { if (i == 0) { Log.d("FName ** ", "" + separated[0].trim() + "\n "); } else if (i == 1) { Log.d("MName ** ", "" + separated[1].trim() + "\n "); } else if (i == 2) { Log.d("LName ** ", "" + separated[2].trim()); } } 

ठीक है, तो हमें बंटवारे करना पड़ता है क्योंकि आपके पास पहले से ही जवाब मिला है, मैं इसे सामान्यीकृत करता हूं।

अगर आप रिक्त स्थान, सीमांकक (विशेष वर्ण) द्वारा किसी स्ट्रिंग को विभाजित करना चाहते हैं।

सबसे पहले, प्रमुख स्थान को हटा दें क्योंकि वे अधिकांश मुद्दों को बनाते हैं।

 str1 = " Hello I'm your String "; str2 = " Are you serious about this question_ boy, aren't you? "; 

पहले स्थान, टैब आदि के प्रमुख स्थान को हटा दें।

 String s = str1.replaceAll("^\\s+","");//starting with whitespace one or more 

अब अगर आप अंतरिक्ष या किसी विशेष चार से विभाजित करना चाहते हैं

 String[] sa = s.split("[^\\w]+");//split by any non word char 

लेकिन जैसा कि w में [a-zA-Z_0-9] है, इसलिए यदि आप अंडरस्कोर (_) द्वारा विभाजित करना चाहते हैं तो भी इसका उपयोग करें

  String[] sa = s.split("[!,? ._'@]+");//for str2 after removing leading space