Split a String Based on Vowels and Consonants

Java solution to split a string based on vowels and consonants.

Problem

Write a function that takes a string, breaks it up and returns it with vowels first, consonants second. For any character that’s not a vowel (like special characters or spaces), treat them like consonants.

Examples

```split("abcde") ➞ "aebcd"

split("Hello!") ➞ "eoHll!"

split("What's the time?") ➞ "aeieWht's th tm?"```

Notes

• Vowels are `a, e, i, o, u`.
• Define a separate `isVowel()` function for easier to read code (recommendation).

Solutions

```public class Challenge {
public static String split(String str) {
String str1 = str.replaceAll("(?i)[^aeiou]", "");
String str2 = str.replaceAll("(?i)[aeiou]", "");
return str1 + str2;
}
}```
```public class Challenge {
public static String split(String str) {
String vowels = "";
String consonants = "";
vowels = vowels.concat(str.replaceAll("a|A|e|E|i|I|o|O|u|U",""));
consonants = consonants.concat(str.replaceAll("[^a|A|e|E|i|I|o|O|u|U]",""));
return  consonants.concat(vowels);
}
}```
```import java.util.*;
public class Challenge {
public static void main(String args[]){
Scanner Sc=new Scanner(System.in);
String s=Sc.next();
String result=split(s);
System.out.println(result);
}
public static String split(String str) {
String vow="";
String rem="";
for(int i=0;i<str.length();i++){
boolean check=isVowel(str.charAt(i));
if(check){
vow=vow+str.charAt(i);
}
else{
rem=rem+str.charAt(i);
}
}
return vow+rem;
}
public static boolean isVowel(char ch){
String s="aeiouAEIOU";
for(int i=0;i<s.length();i++){
if(s.charAt(i)==ch){
return true;
}
}
return false;
}
}```