Guest User

Untitled

a guest
Apr 19th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. package fr.wildcodeschool.unittesting;
  2.  
  3.  
  4. import java.util.Arrays;
  5. import java.util.HashSet;
  6. import java.util.LinkedHashSet;
  7. import java.util.Set;
  8. import java.util.stream.Collectors;
  9.  
  10. public class StringUtils {
  11.  
  12. private static final String ALL_VOWELS = "aeiouyAEIOUY";
  13.  
  14. /**
  15. * Renvoie la chaine formée par les voyelles d'une chaine de caractères
  16. * @return Chaine avec uniquement des voyelles
  17. */
  18. public static String vowels(String candidate) {
  19.  
  20.  
  21. if (candidate == null) {
  22. throw new IllegalArgumentException();
  23. }
  24.  
  25. String noAccent = org.apache.commons.lang3.StringUtils.stripAccents(candidate);
  26.  
  27.  
  28. String vowels = "";
  29. char[] letters = noAccent.toCharArray();
  30. for (int i = 0; i < candidate.length(); i++) {
  31. if (ALL_VOWELS.indexOf(letters[i]) >= 0) {
  32. vowels += letters[i];
  33. }
  34. }
  35. return vowels;
  36. }
  37.  
  38. public static String removeDuplicates(final String input) {
  39. Set<Character> knownCharacters = new HashSet<>(input.length(), 1.0f);
  40. StringBuilder noDuplicates = new StringBuilder(input.length());
  41.  
  42. for(char character : input.toCharArray()){
  43. if(knownCharacters.add(character)){
  44. noDuplicates.append(character);
  45. }
  46. }
  47. return noDuplicates.toString();
  48. }
  49.  
  50. public static String uniqueVowels(String candidate){
  51. if (candidate == null) {
  52. throw new IllegalArgumentException();
  53. }
  54. String noAccent = org.apache.commons.lang3.StringUtils.stripAccents(candidate);
  55. return vowels(removeDuplicates(noAccent));
  56. }
  57.  
  58. }
Add Comment
Please, Sign In to add comment