Monday, 15 September 2014

java - .split("|") doesn't return the correct string -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 6 उत्तर

मैं यह स्ट्रिंग भेज रहा हूँ क्लाइंट से सर्वर पर:

  आर | 0.04107356 | -0.31299785 | -0.9991561  

यह स्ट्रिंग सर्वर द्वारा छपी हुई है - तो यह है सही है।

"आर" पैकेट नाम है, और मूल्य तीर का वेग है जो कि आर्चर शूट करने जा रहा है।

तो उन मूल्यों को प्राप्त करने के लिए, मैं हूं

  स्ट्रिंग [] मूल्यों का उपयोग करके = str.split ("|");  

और फिर

  a.shoot (फ़्लोट.वल्यूओफ़ (मान [1]), फ़्लोट.वल्यूओफ़ (मान [2]), फ़्लोट.वल्यूओफ़ (मान [3])); / /> एक आर्चर है  

समस्या है, मूल्यों, मूल्यों [2], और मूल्यों [3] भ्रष्ट या पहचानने योग्य नहीं है।

मेरा पूरा कोड यह है:

  सार्वजनिक शून्य संभालमेसज (स्ट्रिंग स्ट्रॉ) {System.out.println (str); स्ट्रिंग [] मूल्य = str.split ("|"); [मूल्य] [2] + "जेड:" + मान [3] (मान [0]। ("एआर")) शामिल है ("एआर")) {System.out.println ("एक्स:" + मान [1] + "वाई:" + मान [2] ); } System.out.println ("Vals:" + + मान [0] + "+ + मान [1] +" + मान [2] + "+ + मान [3]); अगर (सच) वापसी; // रिटर्निंग इसलिए मैं दुर्घटनाओं के बिना डे-बग संदेशों का विश्लेषण कर सकता हूँ के लिए (आर्चर ए: गेम सर्वर)। (A.shoot (फ्लोट.वल्यूओफ़ (मान [1]), फ्लोट.वल्यूओफ़ (मान [2]), फ्लोट.वल्यूओफ़ (मान [3])); }  

जब मैं "वाल" संदेश को प्रिंट करता हूँ, तो यह इस तरह से आता है:

  वल: ए आर |  

यहां छवि विवरण दर्ज करें

क्या है क्या यहां गलत हो रहा है?

क्षैतिज बार का जावा रेगुलर एक्सप्रेशन में एक विशेष अर्थ है, जिसे आपको क्रम से बचाना होगा एक शाब्दिक के रूप में उपयोग करने के लिए:

  स्ट्रिंग [] values ​​= str.split ("\\ |");  

No comments:

Post a Comment