2013-03-19 8 views
12

सहायता की आवश्यकता है।सिंगल एस्टेरिक द्वारा रीगेक्स जावा स्ट्रिंग स्प्लिट

line.split("*"); 

मैंने स्ट्रिंग को एक तारांकन चिह्न में विभाजित करने के लिए कोड की इस पंक्ति का उपयोग किया। हालांकि, मुझे अपने कंपाइलर से एक त्रुटि मिली। यह कहता है, "अंतर्निहित नियमित अभिव्यक्ति: डांगलिंग मेटा चरित्र '*'

इस समस्या को हल करने के लिए कैसे करें? अग्रिम में धन्यवाद।

+3

SO पर यहां एक उत्तर "स्वीकार" करने के लिए यह सौजन्य है। जो जवाब आपको लगता है उसे जांचने के लिए स्वतंत्र महसूस करें। – squiguy

+0

हां, मैं सबसे अच्छा जांच करूंगा। :) – princepiero

उत्तर

24

* नियमित अभिव्यक्तियों में विशेष अर्थ है। आपको इसे बचाना है।

line.split("\\*"); 
+0

वाह, यह काम करता है! धन्यवाद! – princepiero

2

इस बयान का प्रयास करें:

line.split("\\*"); 
+0

हाँ, यह काम करता है। धन्यवाद! – princepiero

2

यह इसलिए है क्योंकि आप एक "*", कि एक रेगुलर एक्सप्रेशन है इस्तेमाल किया।

line.split("\\*"); 
2

* नियमित अभिव्यक्ति में एक मेटा चरित्र है: यदि आप इस caracter उपयोग करना चाहते हैं, तो आप तू ऐसा ही कुछ डाल की जरूरत है। इसका उपयोग 0 या अधिक तत्वों से मेल खाने के लिए किया जाता है। यदि आप एक सामान्य चरित्र के रूप में * का उपयोग करना चाहते हैं, विशेष चरित्र के रूप में नहीं (यानी मेटा कैरेक्टर के रूप में अपना व्यवहार छोड़ दें) तो इससे पहले भागने वाले अक्षर जोड़ें।

उदाहरण के लिए: String[] split = line.split("\\*");

आशा इस मदद करता है।

संबंधित मुद्दे