2011-02-12 14 views
10

उदाहरण के लिए, Battle of the Vowels:Hawaii vs Gronzy की एक स्ट्रिंग दी गई है जब हम aeiou के रूप में हटाए जाने वाले वर्ण निर्दिष्ट करते हैं, तो फ़ंक्शन स्ट्रिंग को Bttl f th V wls:Hw vs Grzny में बदलना चाहिए।जावा 0 स्ट्रिंग से विशिष्ट वर्णों को हटाएं

इस प्रश्न को Programming Interviews Exposed पुस्तक में मिला। यह सी में समझाया गया था, हालांकि मुझे जावा में दिलचस्पी है।

+2

क्या आप इसे लागू करने का प्रयास करने का प्रस्ताव कर रहे हैं? अब तक तुमने क्या प्रयास किये हैं? हम आपके लिए यह नहीं करने जा रहे हैं। –

+0

मैं इसे लागू करने के विभिन्न तरीकों के लिए समुदाय से विचारों के लिए पूछ रहा था। – SuperMan

उत्तर

18

यह करने के लिए एक आसान तरीका रेगुलर एक्सप्रेशन का उपयोग करने के लिए है:

"Battle of the Vowels:Hawaii vs Gronzy".replaceAll("[aeiou]","") 

कुछ जावा कक्षा लाइब्रेरी API दस्तावेज़:

String.replaceAll: http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String)

पैटर्न और नियमित अभिव्यक्ति : http://download.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html#sum

+0

मैंने कोशिश की: 's1 = s1.replaceAll (s2," "); \t System.out.println (एस 1); 'लेकिन यह काम नहीं करता है। ऐसा लगता है कि यह समाधान केवल काम करता है, जब हमने हटाए जाने के लिए कहरों को निर्दिष्ट किया। – Hengameh

0
public class RemoveCharacters 
{ 
    static String removeCharsFromString(String word1, String word2) 
    { 
     StringBuilder sb = new StringBuilder(word1); 

     System.out.println(sb); 
     //char[] word2characters= word2.toCharArray(); 
     HashMap<Character, Integer> table = new HashMap<Character, Integer>(); 

     for (int i = 0; i < word2.length(); i++) 
     { 
      table.put(word2.charAt(i), 1); 

     } 

     int p = 0; 
     for (int i = 0; i < word1.length(); i++) 
     { 

      if (table.containsKey(word1.charAt(i))) 
      { 
       if (p == 0) 
       { 
        sb.deleteCharAt(i); 
        //p++; 
       } 
       else 
       { 
        sb.deleteCharAt(i - p); 
       } 
       //System.out.println(sb); 
       p++; 
      } 

     } 

     return sb.toString(); 
    } 

    public static void main(String[] args) 
    { 
     System.out.println("Enter your string"); 
     Scanner sc = new Scanner(System.in); 
     String originalword = sc.nextLine(); 

     System.out.println("Enter the remove string"); 
     Scanner sc1 = new Scanner(System.in); 
     String removecharacters = sc1.nextLine(); 

     String result = removeCharsFromString(originalword, removecharacters); 

     System.out.println(result); 
    } 
} 
1
public class RemoveChars { 

    char[] replaceChar = {'a','e','i','o','u'}; 

    public static void main(String[] args) { 
     String src = "Battle of the Vowels:Hawaii vs Gronzy"; 
     System.out.println(new RemoveChars().removeChar(src)); 
    } 

    public String removeChar(String src){ 
     char[] srcArr = src.toCharArray(); 
     StringBuilder sb = new StringBuilder(); 
     for (int i = 0; i < srcArr.length; i++) { 
      char foundChar = isFound(srcArr[i]); 
      if(foundChar!='\0') 
      sb.append(foundChar);   
     } 
     return sb.toString(); 

    } 

    public char isFound(char src){  
     for (int i = 0; i < replaceChar.length; i++) { 
      if(src==replaceChar[i]){ 
       return '\0'; 
      } 
     } 
     return src; 
    } 
} 
संबंधित मुद्दे