में एक स्ट्रिंग है जैसे ए = बी & सी = डी & ई = एफ, इसे मानचित्र में कैसे पार्स करें?मानचित्र में स्ट्रिंग को पार्स करने के लिए कैसे करें
8
A
उत्तर
23
मैं विभाजन
String text = "A=B&C=D&E=F";
Map<String, String> map = new LinkedHashMap<String, String>();
for(String keyValue : text.split(" *& *")) {
String[] pairs = keyValue.split(" *= *", 2);
map.put(pairs[0], pairs.length == 1 ? "" : pairs[1]);
}
संपादित करें का प्रयोग करेंगे गद्देदार रिक्त स्थान और एक =
या कोई मूल्य नहीं के साथ एक मूल्य के लिए अनुमति देता है। जैसे
A = minus- & C=equals= & E==F
1
String t = A=B&C=D&E=F;
Map map = new HashMap();
String[] pairs = t.split("&");
//TODO 1) Learn generis 2) Use gnerics
for (String pair : pairs)
{
String[] kv = pair.split("=");
map.put(kv[0], kv[1]);
}
2
स्प्लिट स्ट्रिंग '&' पर (या तो एक StringTokenizer
या String.split()
का उपयोग)। प्रत्येक टोकन पर बस '=' पर फिर से विभाजित करें। कुंजी के रूप में पहले भाग का उपयोग करें और दूसरे भाग को मान के रूप में उपयोग करें।
इसे रेगेक्स का उपयोग करके भी किया जा सकता है, लेकिन समस्या StringTokenizer
के लिए वास्तव में काफी सरल है।
5
public class TestMapParser {
@Test
public void testParsing() {
Map<String, String> map = parseMap("A=B&C=D&E=F");
Assert.assertTrue("contains key", map.containsKey("A"));
Assert.assertEquals("contains value", "B", map.get("A"));
Assert.assertTrue("contains key", map.containsKey("C"));
Assert.assertEquals("contains value", "D", map.get("C"));
Assert.assertTrue("contains key", map.containsKey("E"));
Assert.assertEquals("contains value", "F", map.get("E"));
}
private Map<String, String> parseMap(final String input) {
final Map<String, String> map = new HashMap<String, String>();
for (String pair : input.split("&")) {
String[] kv = pair.split("=");
map.put(kv[0], kv[1]);
}
return map;
}
}
4
सिर्फ अमरूद स्प्लिटर
String src="A=B&C=D&E=F";
Map map= Splitter.on('&').withKeyValueSeparator('=').split(src);
संबंधित मुद्दे
- 1. अनगिनत JSON स्ट्रिंग को पार्स करने के लिए कैसे करें
- 2. ActiveRecord पार्स स्ट्रिंग डेटाटाइम करने के लिए?
- 3. मानचित्र में जोड़ी को सम्मिलित करने के लिए कैसे करें
- 4. पर्ल में डेटटाइम ऑब्जेक्ट में स्ट्रिंग को कैसे पार्स करें?
- 5. उपयोगकर्ता एजेंट स्ट्रिंग को पार्स करने के लिए कोड?
- 6. कैसे अपाचे लॉग पार्स करने के लिए
- 7. Hadoop में पाठ से CustomWritable पार्स करने के लिए कैसे
- 8. पार्स स्ट्रिंग जावास्क्रिप्ट में
- 9. उद्देश्य सी में तार पार्स करने के लिए कैसे
- 10. स्कैला में, ऑब्जेक्ट के मानों को मानचित्र [स्ट्रिंग, स्ट्रिंग] में कैसे चालू करें?
- 11. पार्स स्ट्रिंग
- 12. कैसे नियमित अभिव्यक्ति के बिना एक स्ट्रिंग पार्स करने
- 13. पार्स क्वेरी स्ट्रिंग
- 14. सी # पार्स स्ट्रिंग रनटाइम पर ज्ञात टाइप करने के लिए
- 15. हडोप मानचित्र में पीडीएफ फाइलों को पार्स करना
- 16. किसी ऑब्जेक्ट में JSON स्ट्रिंग को पार्स करने के लिए सबसे सरल सी # फ़ंक्शन क्या है?
- 17. मानचित्र <स्ट्रिंग, स्ट्रिंग> इस मानचित्र में डेटा कैसे सम्मिलित करें?
- 18. पार्स स्ट्रिंग को LINQ क्वेरी
- 19. वेक्टर में शब्दों के अनुक्रम को पार्स करने के लिए boost :: spirit का उपयोग कैसे करें?
- 20. स्ट्रिंग को साफ़ करने के लिए कैसे करें?
- 21. स्ट्रिंग विभाजन के बिना पार्स
- 22. जावा: स्ट्रिंग को प्रारंभ करने के लिए कैसे करें []?
- 23. cgicc क्वेरी स्ट्रिंग को पार्स
- 24. सी # में तुलना के लिए एक पूर्णांक में एक महीने का नाम (स्ट्रिंग) कैसे पार्स करें?
- 25. स्थापना enumerations के मूल्यों, और स्ट्रिंग पार्स करने में enum
- 26. जीएसओएन के साथ मानचित्र के मानचित्र को क्रमबद्ध कैसे करें?
- 27. PHP को PHP में कैसे पार्स करें?
- 28. मार्कडाउन को पार्स करने के बारे में आप कैसे जाएंगे?
- 29. नेस्टेड अभिव्यक्तियों को पार्स करने के लिए जावा विधि
- 30. Play में किसी YAML फ़ाइल में मानचित्र को परिभाषित करने के लिए कैसे करें! ढांचा?
+1 का उपयोग करें। समान कोड लिखने की प्रक्रिया में। आंशिक रूप से इस पर निर्भर करता है कि कोड की जांच करने में कितनी त्रुटि है। क्या यह खिलौना कोड है? क्या इसे बुरी तरह से गठित इनपुट आदि के साथ कॉपी करने की आवश्यकता है? यदि कोड उदाहरण के लिए '=' नहीं है, तो यहां कोड arrayIndexException देगा, लेकिन यह परिदृश्य में ठीक हो सकता है। –
यह इसे बंद करने के बजाय मान में '=' संभाल लेगा;) –
@ टॉम, धन्यवाद, कुछ त्रुटि हैंडलिंग जोड़ा गया। –