पर नहीं हैं, मैं जावा कोड लिखने की कोशिश कर रहा हूं जो सभी अवांछित पात्रों को हटा देगा और केवल श्वेतसूची वाले लोगों को छोड़ देगा।स्ट्रिंग से सभी वर्ण हटाएं जो श्वेतसूची
उदाहरण:
String[] whitelist = {"a", "b", "c"..."z", "0"..."9", "[", "]",...}
मैं वहाँ चाहते केवल अक्षरों (कम और अपरकेस) और नंबर + कुछ अगले वर्ण मैं जोड़ना होगा। फिर मैं स्ट्रिंग में प्रत्येक वर्ण के लिए for()
चक्र शुरू करूंगा, और इसे श्वेतसूची पर नहीं होने पर इसे खाली स्ट्रिंग के साथ प्रतिस्थापित कर दूंगा।
लेकिन यह अच्छा समाधान नहीं है। शायद यह पैटर्न (regex) का उपयोग कर किसी भी तरह किया जा सकता है? धन्यवाद।
String input = "BAD good {} []";
String output = input.replaceAll("[^a-z0-9\\[\\]]", "");
System.out.println(output); // good[]
या Guava में आप एक CharMatcher
इस्तेमाल कर सकते हैं:
CharMatcher matcher = CharMatcher.inRange('a', 'z')
.or(CharMatcher.inRange('0', '9'))
.or(CharMatcher.anyOf("[]"));
String input = "BAD good {} []";
String output = matcher.retainFrom(input);
कि सिर्फ छोटे अक्षर संस्करण से पता चलता है, यह भी आसान हो जाता
'शायद यह किसी भी तरह पैटर्न (regex) का उपयोग किया जा सकता है' हां, तुम सही हो । आप [यहां] शुरू कर सकते हैं (http://www.regexplanet.com/advanced/java/index.html) – ppeterka
किस प्रकार के पात्रों की अनुमति है? आवश्यकता के आधार पर, रेगेक्स काफी अलग हो सकता है। – nhahtdh