2010-12-01 9 views
5

मुझे एहसास है कि इस पर बहुत सारे प्रश्न हैं लेकिन मुझे अभी तक मेरी स्थिति के लिए उपयुक्त समाधान नहीं मिला है। मैं string.trim() के बारे में जानता हूं और इसका कोई प्रभाव नहीं है। String.trim() के लिए घृणा की दुनिया को उजागर करने और उजागर करने की दुनिया को उजागर करने के बाद मुझे एहसास हुआ कि व्हाइटस्पेस चरित्र जिसे मैं हटाने की कोशिश कर रहा हूं, सीमा से बाहर होना चाहिए .trim() के लिए पूरा करता है।जावा में स्ट्रिंग से व्हाइटस्पेस ट्रिमिंग

मैं कुछ रेगेक्स का उपयोग कर रहा हूं, जिसे मैं पूरी तरह से समझ नहीं पा रहा हूं, '=' और ',' को छोड़कर किसी भी विशेष वर्ण की स्ट्रिंग को पट्टी करने के लिए, और सभी व्हाइटस्पेस एक्सेप्ट अगर यह तुरंत ',' के बाद है।

हालांकि, अब मैं स्ट्रिंग से सभी व्हाइटस्पेस को पूरी तरह से हटाना चाहता हूं। रेगेक्स को संपादित करने के तरीके के बारे में कोई भी विचार मैं इसे पूरा करने के लिए उपयोग कर रहा हूं, इसकी सराहना की जाएगी। दोबारा, मैं जो चाहता हूं वह '=' और ',' के साथ अंक और अक्षरों के साथ रहना है। सभी सफेद जगह और अन्य विशेष पात्रों को हटा दिया जाना चाहिए।

यहाँ अब तक कोड है:

if (argsToBeFiltered != null) { 
      // Remove all whitespace and chars apart from = and , 
      String filteredArgs = argsToBeFiltered.replaceAll(
        "[^=,\\da-zA-Z\\s]|(?<!,)\\s", ""); 
      return filteredArgs; 
} 

उत्तर

5

समय एक रेगुलर एक्सप्रेशन जानने के लिए!

Pattern और Lesson: Regular Expressions जैसे विभिन्न नियमित अभिव्यक्ति ट्यूटोरियल देखें।

[^=,\\da-zA-Z\\s] 

वह भाग का कहना है से मेल नहीं (^) वर्ण: =, ,, अंक (\ घ), A-Z (A-Z) या खाली स्थान के (\ रों)। हालांकि, आप शायद रिक्त स्थान से मिलान करना चाहते हैं (क्योंकि उनके साथ मिलान करने के लिए कोई दूसरा कॉमा भाग नहीं है)। तो:

argsToBeFiltered.replaceAll("[^=,\\da-zA-Z]", ""); 
+3

वह बहुत सही नहीं है। '\\ s' (या 'स्ट्रिंग एस्केपिंग के बाद' \ s') केवल रिक्त स्थान से अधिक है, लेकिन इसमें लंबवत और क्षैतिज टैब, कैरिज रिटर्न/लाइन फीड इत्यादि भी शामिल हैं ... – Powerlord

+0

धन्यवादउथंकाउथंकाउथंकाउथान्कीयो !!!!! – Frank

+0

@ आर। बेमरोज धन्यवाद। सही किया। –

1

इस प्रयास करें: -

if (argsToBeFiltered != null) { 
      // Remove all whitespace and chars apart from = and , 
      String filteredArgs = argsToBeFiltered.replaceAll(
        "\\w+"); 
      return filteredArgs; 
} 
+0

धन्यवाद कूलबीन - पीएसटी ने हालांकि मेरे लिए इसे दबाया। ब्याज के लिए चीयर्स! – Frank

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