begin process at 2012 03 15 15:42:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > CONVERTIR UNE CHAÎNE DE CARACTÈRES EN CHAÎNE SANS ACCENT

CONVERTIR UNE CHAÎNE DE CARACTÈRES EN CHAÎNE SANS ACCENT


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caractères Source .NET ( DotNet ) Classé sous :accent, string, convertir Niveau :Débutant Date de création :17/10/2005 Vu :35 617

Auteur : cedric44

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Fonction permettant de convertir une chaîne de caractères passée en paramètre en chaîne de caractères sans accent.

Source

  • /// <summary>
  • /// Fonction de conversion de chaîne accentué en chaîne sans accent
  • /// </summary>
  • /// <param name="chaine">La chaine à convertir</param>
  • /// <returns>string</returns>
  • private string convertirChaineSansAccent(string chaine)
  • {
  • // Déclaration de variables
  • string accent = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç";
  • string sansAccent = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc";
  • // Conversion des chaines en tableaux de caractères
  • char[] tableauSansAccent = sansAccent.ToCharArray();
  • char[] tableauAccent = accent.ToCharArray();
  • // Pour chaque accent
  • for(int i=0; i<accent.Length; i++)
  • {
  • // Remplacement de l'accent par son équivalent sans accent dans la chaîne de caractères
  • chaine = chaine.Replace(tableauAccent[i].ToString(), tableauSansAccent[i].ToString());
  • }
  • // Retour du résultat
  • return chaine;
  • }
/// <summary>
/// Fonction de conversion de chaîne accentué en chaîne sans accent
/// </summary>
/// <param name="chaine">La chaine à convertir</param>
/// <returns>string</returns>
private string convertirChaineSansAccent(string chaine) 
{
	// Déclaration de variables
	string accent = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç";
	string sansAccent = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc";

	// Conversion des chaines en tableaux de caractères
	char[] tableauSansAccent = sansAccent.ToCharArray();
	char[] tableauAccent = accent.ToCharArray();

	// Pour chaque accent
	for(int i=0; i<accent.Length; i++) 
	{
		// Remplacement de l'accent par son équivalent sans accent dans la chaîne de caractères
		chaine = chaine.Replace(tableauAccent[i].ToString(), tableauSansAccent[i].ToString());
	}

	// Retour du résultat
	return chaine;
}



 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) FONTASY : CLASSE DE MANIPULATION DE CHAINE DE CARACTÈRE par dodo7263
Source .NET (Dotnet) [XML] SERIALISER UN DICTIONARY GÉNÉRIQUE par TheOnlyMaX
Source avec Zip PREPAREDFORMAT par Warny
Source avec Zip Source avec une capture Source .NET (Dotnet) T-SQL FORMATER par Warny
Source .NET (Dotnet) GREP POUR WINDOWS par Warny

 Sources en rapport avec celle ci

Source .NET (Dotnet) SQL SERVER 2005 : FONCTION DE SUPPRESSION DES ACCENTS DANS U... par skweeky
Source .NET (Dotnet) FONCTION ISNUMERIC() POUR C#.NET par spottydj
Source .NET (Dotnet) CONVERTIR UN FICHIER CSV VERS XML par mstaelen
Source .NET (Dotnet) TIFF TO JPEG CONVERTEUR par zobyone
Source avec Zip Source avec une capture Source .NET (Dotnet) REMPLACEMENT AUTOMATISÉ DE CHAÎNES DE CARACTÈRES par badrbadr

Commentaires et avis

Commentaire de tmcuh le 18/10/2005 11:41:29

Bonne adaptation. J'avais posté un truc semblable il y a un bon moment, c'était encore en vb (http://vbfrance.com/forum.v2.aspx?ID=270777)

Commentaire de Lutinore le 18/10/2005 14:44:59 administrateur CS

L'idée est bonne mais tu peux améliorer ton code, les chaines sont indexables comme un tableau, et la méthode "Replace" accepte des arguments de type char.

Commentaire de Patrice99 le 18/10/2005 15:56:08

On peut aussi passer par l'encodage 8 bits, mais cela ne fonctionnera pas pour certains caractères unicodes :
www.vbfrance.com/code.aspx?ID=25946

Commentaire de lmamine le 09/05/2006 15:27:35

string FormaterText(string text)
    {
        byte[] aOctets = System.Text.Encoding.GetEncoding(1251).GetBytes(text);
        string sEnleverAccents = System.Text.Encoding.ASCII.GetString(aOctets);//.ToLower();
        return sEnleverAccents;
    }

Commentaire de neodivx le 25/08/2008 12:17:04

pour faire plus simple, voici un petit code encore plus rapide.


            string AccentFrom = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç";
            string AccentTo   = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc";

            for (int i1=0;i1<AccentFrom.Length;i1++)
            {
                from = from.Replace(AccentFrom[i1], AccentTo[i1]);
            }
            return from;

concernant le code utilisant la fonction FormaterText, je vous la déconseille. Essayez betement de passer la ligne: je vais à l'université: vous verrez que le ' est retourné comme un ? ( j'ai essayé avec le code 1250,1251,1252 )

Commentaire de JacquesLebrun le 26/07/2009 14:39:36

J'ai trouvé un truc encore plus facile et rapide.  On doit d'abord convertir du codepage de réception à un codepage intermédiaire à un octet (UTF-8), ensuite on utilise le seule codepage qui "élimine" les accents en les remplaçant par une lettre non-accentuée plutôt qu'un "?" (ISO-8859-8 = Hébreu):

Nom = {variable accentuée provenant d'un fichier, etc}
Dim Bytes() As Byte
' Remplacer "ISO-8859-1" par le codepage des données reçues
Bytes = System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(Nom)
Nom = System.Text.Encoding.UTF8.GetString(Bytes)
' Remplacer les caractères accentués par l'équivalent sans accents à l'aide du codepage hébreu
Bytes = System.Text.Encoding.GetEncoding("ISO-8859-8").GetBytes(Nom)
Nom = System.Text.Encoding.ASCII.GetString(Bytes).ToUpper

Commentaire de dymsbess le 24/02/2011 17:50:37

http://www.xoowiki.com/Article/Csharp/remplacer-les-accents-dans-une-chaine-373.aspx

Commentaire de eagledark le 06/05/2011 22:14:05

Bonjour,

Le code n'est pas mal et bien réfléchi, merci.

++

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

convertir un string en color [ par godefrw ] Bonjour, j'aurais besoin de convertir un string (lu dans un fichier xml), en color (system.drawing.color). cela me permettrait de pouvoir définir la c [C#] Comment convertir un string en bool [ par foolsky ] J'ais un autre problème:Je veut mettre un texte qui est ma condition dans la condition d'un if .Mais le probleme c'est quil me dis qu'il ne peut conve C# Convertir une String en HtmlDocument [ par bfjuju ] Bonjour, J'essai de convertir une string en HtmlDocument avec le framework 2.0. Je ne trouve pas la methode permettant de faire cela. Convertir un string en varchar* [ par ybuchheit ] Bonjour, je débute en C# et je dois créer une application CS utilisant une dll écrite en c. J'arrive à appeler toutes les fonctions de la dll sauf cel Convertir un string et int [ par Metabolicman ] Bonjour, Je développe une petite application événementielle pour mes cours et j'ai un petit problème. Je récupère des tarifs dans un fichier .txt et j convertir string vers decimal [ par ansizak ] Bonjour,Je créé un programme qui doit calculer des pourcentages à partir de série de chiffre lues dans un fichier texte ert ressortir les valeurs supé Convertir string en float [ par asma86 ] Bonjours à tous,Dans mon application je dois inserer des données dans la base et j'introduit ces données à travers des TextBox or il ya des donnés de Conversion d'un string en XML [ par swyms ] Bonjour à tous,Comment faire pour convertir une chaine en un objet XML ?En fait, j'ai une chaine de caractère correctement formatté avec les balises q convertir STRING en INT [ par 76julien ] Salut à tous, je suis débutant et je souhaite savoir comment fait-on en C# pour convertir un string en integer. Je ne trouve pas le soluce. Merci d'a lecture des lettres en accent avec c# [ par midou001987 ] salut à tous, je suis en trin de développer une application aspx.cs et j'ai une procédure qui nécessite la lecture puis la réécriture dans le même fi


Nos sponsors


Sondage...

 
  
 

Comparez les prix

CalendriCode

Mars 2012
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Temps d'éxécution de la page : 1,482 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales