Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1636 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] supprimer les caractères spéciaux dans une chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] supprimer les caractères spéciaux dans une chaine

n°812592
Nestor
Posté le 02-08-2004 à 11:24:58  profilanswer
 

Bonjour,  
 
existe-t-il un moyen simple de remplacer un ou plusieurs caractères spécial dans une chaîne par la valeur ASCII approchante ?  
 
(par exemple un "é" par un "e" mais on peut aussi étendre ça aux caractères spéciaux des autres langues).  
 
Merci de votre aide.

mood
Publicité
Posté le 02-08-2004 à 11:24:58  profilanswer
 

n°816590
Alan_
Posté le 06-08-2004 à 14:31:33  profilanswer
 

Salut un exemple :
public String transforme_chaine(String chaine_a_transformer)
{
String chaine_valide="";
char[] car = chemin_a_transformer.toCharArray();
  for(int i=0;i<car.length;i++)
  {
    //cas pour é
    if(car[+i]==130)
    {
 chaine_valide=chaine_valide+"e";
    }
    //cas du î
    elseif(car[+i]==140)
    {
         chaine_valide=chaine_valide+"i";
    }
    //Etc....
 
    //cas d'un caractere correct
    else
    {
 String s=String.valueOf(car[+i]);  
 chaine_valide=chemin_valide+s;
    }    
  }
  return chaine_valide;
}

n°816661
pascal34
one point !
Posté le 06-08-2004 à 15:28:36  profilanswer
 

Nestor a écrit :

Bonjour,  
 
existe-t-il un moyen simple de remplacer un ou plusieurs caractères spécial dans une chaîne par la valeur ASCII approchante ?  
 
(par exemple un "é" par un "e" mais on peut aussi étendre ça aux caractères spéciaux des autres langues).  
 
Merci de votre aide.


 
Si tu veux être compatible avec toutes les langues t'as du taf.
 
Pour le français ça peut donner ça :
 

Code :
  1. public static String translate(String src)
  2. {
  3.  StringBuffer result = new StringBuffer();
  4.  if(src!=null && src.length()!=0)
  5.  {
  6.   int index = -1;
  7.   char c = (char)0;
  8.   String chars= "àâäéèêëîïôöùûüç";
  9.   String replace= "aaaeeeeiioouuuc";
  10.   for(int i=0; i<src.length(); i++)
  11.   {
  12.    c = src.charAt(i);
  13.    if( (index=chars.indexOf(c))!=-1 )
  14.     result.append(replace.charAt(index));
  15.    else
  16.     result.append(c);
  17.   }
  18.  };
  19.  return result.toString();
  20. }


 
Je passe pas par String.replaceAll() car
 

  • car ça passe par le package de regexp et pas forcément plus rapide

mais je me trompe peut-être !!!

  • C'est compatible tout JDK 1.2+



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] supprimer les caractères spéciaux dans une chaine

 

Sujets relatifs
[JAVA] Base de données orientée objet & OZONEprendre les premiers caractères jusqu'à un caractère d'une string
[C++] Porter du Java en C++Avoir la longueur d'une chaine en PHP
[Java][PHP][SQL] Debutant: Par quoi commencer??[java][mysql] probleme de connection
[Shell - Rsh - Java] Rendez moi la main !Fenetre non régulière en Java
[Java] Problème avec le type long[java][c]chargement d'une librairie .so
Plus de sujets relatifs à : [JAVA] supprimer les caractères spéciaux dans une chaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR