2011-12-18 9 views
9

मैं निम्नलिखित स्ट्रिंग को विभाजित करना चाहता हूं "अच्छा^शाम" मैंने विभाजन विकल्प का उपयोग किया है, यह मान को विभाजित नहीं करता है। क्रिप्या मेरि सहायता करे।जावा में इस विशेष चरित्र '^' का उपयोग करके स्ट्रिंग को कैसे विभाजित करें?

यह मैं क्या कोशिश कर रहा है:

String Val = "Good^Evening"; 
String[] valArray = Val.Split("^"); 
+1

कृपया हमें कोड उससे बात नहीं बनी दिखा। –

+0

स्ट्रिंग वैल = "अच्छा^शाम"; स्ट्रिंग [] valArray = Val.Split ("^"); –

+0

@ManoharKulanthaivel धन्यवाद, लेकिन कृपया इसके साथ अपना प्रश्न संपादित करें ताकि संदर्भ में आसान हो। – Bryan

उत्तर

30

मैं आप की तरह कुछ किया संभालने हूँ:

String[] parts = str.split("^"); 

काम नहीं करता है ऐसा इसलिए है क्योंकि split को तर्क वास्तव में एक regular expression, जहां ^ एक विशेष अर्थ नहीं है है। ऐसा करें:

String[] parts = str.split("\\^"); 

\\ वास्तव में एक भी \ के बराबर (प्रथम \ स्ट्रिंग शाब्दिक में एक जावा भागने अनुक्रम के रूप में की आवश्यकता है) है। यह नियमित अभिव्यक्तियों में एक विशेष चरित्र है जिसका अर्थ है "अगले चरित्र का शाब्दिक रूप से उपयोग करें, इसके विशेष अर्थ की व्याख्या न करें"।

7

regex का उपयोग करना चाहिए है "\ ^" जो आप "\\^" एक जावा स्ट्रिंग शाब्दिक रूप में के रूप में लिखें; अर्थात

String[] parts = "Good^Evening".split("\\^"); 

regex एक '\' भागने की जरूरत है क्योंकि कैरट चरित्र ('^') regex भाषा में एक मेटा-चरित्र है। दूसरा '\' भागना जरूरी है क्योंकि '\' स्ट्रिंग अक्षर में बच निकला है।

0

कोशिश इस

String str = "Good^Evening"; 
String newStr = str.replaceAll("[^]+", ""); 
संबंधित मुद्दे