StringOperation.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. import java.util.Vector;
  2. /**
  3. * Classe complementaire du J2SDK sur la manipulation de chaines de caractéres
  4. * Permet nottament de supprimer les accents d'une chaine de caractères
  5. */
  6. public abstract class StringOperation {
  7. /** Index du 1er caractere accentué * */
  8. private static final int MIN = 192;
  9. /** Index du dernier caractere accentué * */
  10. private static final int MAX = 255;
  11. /** Vecteur de correspondance entre accent / sans accent * */
  12. private static final Vector map = initMap();
  13. /**
  14. * Initialisation du tableau de correspondance entre les caractéres
  15. * accentués et leur homologues non accentués *
  16. */
  17. private static Vector initMap() {
  18. Vector Result = new Vector();
  19. java.lang.String car = null;
  20. car = new java.lang.String("A");
  21. Result.add(car); /* '\u00C0' À alt-0192 */
  22. Result.add(car); /* '\u00C1' Á alt-0193 */
  23. Result.add(car); /* '\u00C2' Â alt-0194 */
  24. Result.add(car); /* '\u00C3' Ã alt-0195 */
  25. Result.add(car); /* '\u00C4' Ä alt-0196 */
  26. Result.add(car); /* '\u00C5' Å alt-0197 */
  27. car = new java.lang.String("AE");
  28. Result.add(car); /* '\u00C6' Æ alt-0198 */
  29. car = new java.lang.String("C");
  30. Result.add(car); /* '\u00C7' Ç alt-0199 */
  31. car = new java.lang.String("E");
  32. Result.add(car); /* '\u00C8' È alt-0200 */
  33. Result.add(car); /* '\u00C9' É alt-0201 */
  34. Result.add(car); /* '\u00CA' Ê alt-0202 */
  35. Result.add(car); /* '\u00CB' Ë alt-0203 */
  36. car = new java.lang.String("I");
  37. Result.add(car); /* '\u00CC' Ì alt-0204 */
  38. Result.add(car); /* '\u00CD' Í alt-0205 */
  39. Result.add(car); /* '\u00CE' Î alt-0206 */
  40. Result.add(car); /* '\u00CF' Ï alt-0207 */
  41. car = new java.lang.String("D");
  42. Result.add(car); /* '\u00D0' Ð alt-0208 */
  43. car = new java.lang.String("N");
  44. Result.add(car); /* '\u00D1' Ñ alt-0209 */
  45. car = new java.lang.String("O");
  46. Result.add(car); /* '\u00D2' Ò alt-0210 */
  47. Result.add(car); /* '\u00D3' Ó alt-0211 */
  48. Result.add(car); /* '\u00D4' Ô alt-0212 */
  49. Result.add(car); /* '\u00D5' Õ alt-0213 */
  50. Result.add(car); /* '\u00D6' Ö alt-0214 */
  51. car = new java.lang.String("*");
  52. Result.add(car); /* '\u00D7' × alt-0215 */
  53. car = new java.lang.String("0");
  54. Result.add(car); /* '\u00D8' Ø alt-0216 */
  55. car = new java.lang.String("U");
  56. Result.add(car); /* '\u00D9' Ù alt-0217 */
  57. Result.add(car); /* '\u00DA' Ú alt-0218 */
  58. Result.add(car); /* '\u00DB' Û alt-0219 */
  59. Result.add(car); /* '\u00DC' Ü alt-0220 */
  60. car = new java.lang.String("Y");
  61. Result.add(car); /* '\u00DD' Ý alt-0221 */
  62. car = new java.lang.String("Þ");
  63. Result.add(car); /* '\u00DE' Þ alt-0222 */
  64. car = new java.lang.String("B");
  65. Result.add(car); /* '\u00DF' ß alt-0223 */
  66. car = new java.lang.String("a");
  67. Result.add(car); /* '\u00E0' à alt-0224 */
  68. Result.add(car); /* '\u00E1' á alt-0225 */
  69. Result.add(car); /* '\u00E2' â alt-0226 */
  70. Result.add(car); /* '\u00E3' ã alt-0227 */
  71. Result.add(car); /* '\u00E4' ä alt-0228 */
  72. Result.add(car); /* '\u00E5' å alt-0229 */
  73. car = new java.lang.String("ae");
  74. Result.add(car); /* '\u00E6' æ alt-0230 */
  75. car = new java.lang.String("c");
  76. Result.add(car); /* '\u00E7' ç alt-0231 */
  77. car = new java.lang.String("e");
  78. Result.add(car); /* '\u00E8' è alt-0232 */
  79. Result.add(car); /* '\u00E9' é alt-0233 */
  80. Result.add(car); /* '\u00EA' ê alt-0234 */
  81. Result.add(car); /* '\u00EB' ë alt-0235 */
  82. car = new java.lang.String("i");
  83. Result.add(car); /* '\u00EC' ì alt-0236 */
  84. Result.add(car); /* '\u00ED' í alt-0237 */
  85. Result.add(car); /* '\u00EE' î alt-0238 */
  86. Result.add(car); /* '\u00EF' ï alt-0239 */
  87. car = new java.lang.String("d");
  88. Result.add(car); /* '\u00F0' ð alt-0240 */
  89. car = new java.lang.String("n");
  90. Result.add(car); /* '\u00F1' ñ alt-0241 */
  91. car = new java.lang.String("o");
  92. Result.add(car); /* '\u00F2' ò alt-0242 */
  93. Result.add(car); /* '\u00F3' ó alt-0243 */
  94. Result.add(car); /* '\u00F4' ô alt-0244 */
  95. Result.add(car); /* '\u00F5' õ alt-0245 */
  96. Result.add(car); /* '\u00F6' ö alt-0246 */
  97. car = new java.lang.String("/");
  98. Result.add(car); /* '\u00F7' ÷ alt-0247 */
  99. car = new java.lang.String("0");
  100. Result.add(car); /* '\u00F8' ø alt-0248 */
  101. car = new java.lang.String("u");
  102. Result.add(car); /* '\u00F9' ù alt-0249 */
  103. Result.add(car); /* '\u00FA' ú alt-0250 */
  104. Result.add(car); /* '\u00FB' û alt-0251 */
  105. Result.add(car); /* '\u00FC' ü alt-0252 */
  106. car = new java.lang.String("y");
  107. Result.add(car); /* '\u00FD' ý alt-0253 */
  108. car = new java.lang.String("þ");
  109. Result.add(car); /* '\u00FE' þ alt-0254 */
  110. car = new java.lang.String("y");
  111. Result.add(car); /* '\u00FF' ÿ alt-0255 */
  112. Result.add(car); /* '\u00FF' alt-0255 */
  113. return Result;
  114. }
  115. /**
  116. * Transforme une chaine pouvant contenir des accents dans une version sans
  117. * accent
  118. *
  119. * @param chaine
  120. * Chaine a convertir sans accent
  121. * @return Chaine dont les accents ont été supprimé
  122. */
  123. public static java.lang.String sansAccent(java.lang.String chaine) {
  124. java.lang.StringBuffer Result = new StringBuffer(chaine);
  125. for (int bcl = 0; bcl < Result.length(); bcl++) {
  126. int carVal = chaine.charAt(bcl);
  127. if (carVal >= MIN && carVal <= MAX) { // Remplacement
  128. java.lang.String newVal = (java.lang.String) map.get(carVal
  129. - MIN);
  130. Result.replace(bcl, bcl + 1, newVal);
  131. }
  132. }
  133. return Result.toString();
  134. }
  135. }