सवाल जावा में विस्फोट और इम्प्लोड (PHP की तरह) [बंद]


मैं जावा में नया हूं हालांकि PHP में अच्छा अनुभव था, और जावा में विस्फोट और इंपोड (PHP में उपलब्ध) कार्यों के लिए सही प्रतिस्थापन की तलाश में था।

मैंने इसके लिए गुगल किया है लेकिन परिणामों से संतुष्ट नहीं है। किसी के पास मेरी समस्या का अच्छा समाधान होगा सराहना की जाएगी।

उदाहरण के लिए:

String s = "x,y,z";
array a = javaExplode(',',s);  //what is javaExplode??
System.out.println(Arrays.toString(a));

वांछित आउटपुट:

[x, y, z]

76
2018-05-27 12:50


मूल


ठीक है, अब तक आपको क्या समाधान मिले हैं? - Konstantin Yovkov
इस सवाल को क्यों वोट दिया गया है? और विषय बंद ?? कृपया अगले प्रश्नों से बचने के लिए सुझाव दें। - Pankaj Wanjari
मुझे लगता है कि विचार के आधार पर यह सवाल ग़लत नहीं है। मैं मानता हूं कि यह एक अजीब सवाल है लेकिन हम में से बहुत से PHP प्रोग्रामर जावा विस्फोट के लिए Google हैं और फिर इसे सही उत्तर के रूप में प्राप्त करते हैं। - gorgi93
अब यह नवंबर 2014 है, और मैंने जावा स्ट्रिंग विस्फोट गुगल किया, और यह सवाल अभी भी शीर्ष परिणाम के रूप में सामने आया। मुझे लगता है कि 'ऑफ-विषय के रूप में बंद' स्थिति को उठाया जाना चाहिए, क्योंकि यह मेरे लिए बिल्कुल विषय नहीं है। - Chen Li Yong
फरवरी 2016, यह सवाल "जावा विस्फोट" का मुख्य परिणाम है। - GustavoMP


जवाब:


स्ट्रिंग के लिए जावाडोक बताता है कि String.split() आप जो खोज रहे हैं वह है explode

जावा में समकक्ष "जुड़ने" का "इंपोड" शामिल नहीं है। एक साधारण कार्य के लिए एक विशाल बाहरी निर्भरता को शामिल करने के बजाय अन्य उत्तरों के सुझाव के अनुसार, आप बस कोड की कुछ पंक्तियां लिखना चाहेंगे। इसे पूरा करने के कई तरीके हैं; इसका उपयोग करना StringBuilder एक है:

String foo = "This,that,other";
String[] split = foo.split(",");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i++) {
    sb.append(split[i]);
    if (i != split.length - 1) {
        sb.append(" ");
    }
}
String joined = sb.toString();

119
2018-05-27 13:23



आपके सभी उत्तरों के लिए धन्यवाद दोस्तों। - Pankaj Wanjari
स्प्लिट वास्तव में एक नियमित अभिव्यक्ति का उपयोग करता है (PHP, पर्ल, जावा, आदि में)। यदि आप किसी अन्य प्रतीक पर विभाजित करना चाहते हैं, तो इसे से बचने की जरूरत है, इस तरह: स्ट्रिंग [] split = foo.split ("\\ ("); - HoldOffHunger
ध्यान दें कि तब से जावा 8 हम वास्तव में है String#join (प्रलेखन)। आपके उदाहरण के लिए: String joined = String.join(" ", split);। विधि का उपयोग करता है StringJoiner कक्षा। - Zabuza


String.split() आप के लिए एक प्रतिस्थापन प्रदान कर सकते हैं explode()

के प्रतिस्थापन के लिए implode() मैं सलाह देता हूं कि आप एक कस्टम फ़ंक्शन या उपयोग लिखें अपाचे कॉमन्सकी StringUtils.join() कार्य करता है।


19
2018-05-27 12:55





अच्छे विकल्प String.split और StringUtils.join विधियां हैं।

विस्फोट :

String[] exploded="Hello World".split(" ");

इम्प्लोड:

String imploded=StringUtils.join(new String[] {"Hello", "World"}, " ");

ध्यान रखें कि स्ट्रिंगउट्स बाहरी पुस्तकालय में है।


12
2018-05-27 12:57



आपको स्ट्रिंगयूट्स कहां मिलते हैं? मुझे com.sun.internal और com.sun.deploy में यह कक्षा मिलती है लेकिन मुझे नहीं लगता कि com.sun के अंतर्गत कक्षाओं का सीधे उपयोग करना एक अच्छा विचार है packages such as sun., that are outside of the Java platform, can be different across OS platforms (Solaris, Windows, Linux, Macintosh, etc.) and can change at any time without notice with SDK versions - Arnaud Denoyelle
ठीक है, आपके संपादन के बाद, मैं देखता हूं कि यह वर्ग बाहरी lib से आता है - Arnaud Denoyelle
...जो है अपाचे कॉमन्स (मेरा अनुमान): StringUtils - crusy


java.lang.String.split(String regex) जो आप खोज रहे हैं


4
2018-05-27 12:55





मैं PHP से परिचित नहीं हूं, लेकिन मुझे लगता है String.split जावा PHP के बराबर है explode। से संबंधित implode, स्टैंडअर्ट लाइब्रेरी ऐसी कार्यक्षमता प्रदान नहीं करती है। आप बस अपनी सरणी पर फिर से प्रयास करें और स्ट्रिंग का उपयोग कर निर्माण करें StringBuilder/StringBuffer। या आप उत्कृष्ट कोशिश कर सकते हैं Google गुवा  फाड़नेवाला तथा योजक या split/join से तरीके अपाचे कॉमन्स  StringUtils


3
2018-05-27 13:02



लिंक काम नहीं करते हैं - marbel82
सभी लिंक गुवा को छोड़कर वैध हैं, क्योंकि 3 साल बीत चुके हैं और वे गिटहब में चले गए। मैंने नए लिंक के साथ टिप्पणी अपडेट की है। - Ivan Sharamet


यदि आप स्ट्रिंग क्लास के संदर्भ में बात कर रहे हैं। तो आप इसका उपयोग कर सकते हैं

सबस्ट्रिंग / विभाजन

विस्फोट और स्ट्रिंग का उपयोग करने के लिए

concate

Implode के लिए।


0
2018-05-27 12:55



concate के बराबर नहीं है implode। - Richard