begin process at 2012 02 11 13:50:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Autre

 > 

Remplacement de caractères spéciaux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplacement de caractères spéciaux

mercredi 9 juillet 2008 à 12:07:26 | Remplacement de caractères spéciaux

alphacrash

Voilà une fonction convertir_special() que j'utilise comme ceci: textbox5.text=convertir_special(titre), titre étant une chaine vous vous en doutez.
Lors que je l'exécute, j'ai une exception de type :Object reference not set to an instance of an object. sur la première ligne de ma fonction...au premier remplacement...:-( need help les gens merci' à l'avance...


private string convertir_special(string text)
        {
         
            text = text.Replace("&", "&");
            text = text.Replace("¡", "¡");
            text = text.Replace("¢", "¢");
            text = text.Replace("£", "£");
            text = text.Replace("?", "¤");
            text = text.Replace("¥", "¥");
            text = text.Replace("|", "¦");
            text = text.Replace("§", "§");
            text = text.Replace("?", "¨");
            text = text.Replace("©", "©");
            text = text.Replace("ª", "ª");
            text = text.Replace("«", "«");
            text = text.Replace("¬", "¬");
            text = text.Replace("­", "­");
            text = text.Replace("®", "®");
            text = text.Replace("¯", "¯");
            text = text.Replace("°", "°");
            text = text.Replace("±", "±");
            text = text.Replace("²", "²");
            text = text.Replace("³", "³");
            text = text.Replace("?", "´");
            text = text.Replace("µ", "µ");
            text = text.Replace("¶", "¶");
            text = text.Replace("·", "·");
            text = text.Replace("?", "¸");
            text = text.Replace("¹", "¹");
            text = text.Replace("º", "º");
            text = text.Replace("»", "»");
            text = text.Replace("?", "¼");
            text = text.Replace("?", "½");
            text = text.Replace("?", "¾");
            text = text.Replace("¿", "¿");
            text = text.Replace("À", "À");
            text = text.Replace("Á", "Á");
            text = text.Replace("Â", "Â");
            text = text.Replace("Ã", "Ã");
            text = text.Replace("Ä", "Ä");
            text = text.Replace("Å", "Å");
            text = text.Replace("Æ", "Æ");
            text = text.Replace("Ç", "Ç");
            text = text.Replace("È", "È");
            text = text.Replace("É", "É");
            text = text.Replace("Ê", "Ê");
            text = text.Replace("Ë", "Ë");
            text = text.Replace("Ì", "Ì");
            text = text.Replace("Í", "Í");
            text = text.Replace("Î", "Î");
            text = text.Replace("Ï", "Ï");
            text = text.Replace("Ð", "Ð");
            text = text.Replace("Ñ", "Ñ");
            text = text.Replace("Ò", "Ò");
            text = text.Replace("Ó", "Ó");
            text = text.Replace("Ô", "Ô");
            text = text.Replace("Õ", "Õ");
            text = text.Replace("Ö", "Ö");
            text = text.Replace("×", "×");
            text = text.Replace("Ø", "Ø");
            text = text.Replace("Ù", "Ù");
            text = text.Replace("Ú", "Ú");
            text = text.Replace("Û", "Û");
            text = text.Replace("Ü", "Ü");
            text = text.Replace("Ý", "Ý");
            text = text.Replace("Þ", "Þ");
            text = text.Replace("ß", "ß");
            text = text.Replace("à", "à");
            text = text.Replace("á", "á");
            text = text.Replace("â", "â");
            text = text.Replace("ã", "ã");
            text = text.Replace("ä", "ä");
            text = text.Replace("å", "å");
            text = text.Replace("æ", "æ");
            text = text.Replace("ç", "ç");
            text = text.Replace("è", "è");
            text = text.Replace("é", "é");
            text = text.Replace("ê", "ê");
            text = text.Replace("ë", "ë");
            text = text.Replace("ì", "ì");
            text = text.Replace("í", "í");
            text = text.Replace("î", "î");
            text = text.Replace("ï", "ï");
            text = text.Replace("ð", "ð");
            text = text.Replace("ñ", "ñ");
            text = text.Replace("ò", "ò");
            text = text.Replace("ó", "ó");
            text = text.Replace("ô", "ô");
            text = text.Replace("õ", "õ");
            text = text.Replace("ö", "&ö");
            text = text.Replace("÷", "&÷");
            text = text.Replace("ø", "ø");
            text = text.Replace("ù", "ù");
            text = text.Replace("ú", "ú");
            text = text.Replace("û", "û");
            text = text.Replace("ü", "ü");
            text = text.Replace("ý", "ý");
            text = text.Replace("þ", "þ");
            text = text.Replace("ÿ", "ÿ");
           // MessageBox.Show(text);
            return text;
        }

Coding is not a crime!
mercredi 9 juillet 2008 à 12:23:10 | Re : Remplacement de caractères spéciaux

Tilois

il faut faire tes replaces seulement si :

!string.IsNullOrEmpty(Text)
En effet les replace dans les chaines null ne fonctionnent pas!

mercredi 9 juillet 2008 à 12:31:50 | Re : Remplacement de caractères spéciaux

SharpMao

Membre Club
Hello,

ta variable text doit sasn doute être null en arrivant dans ta méthode, d'où le problème.

Dit en passant, il existe une méthode System.Web.HttpUtility.HtmlEncode qui fait à peu de choses prêt la même chose.

Une des seules différences, c'est qu'elle encode "&" par "&".

Si ça te convient, utilise-là plutôt que de la réinventer. Au moins, tu sera sur de ne pas avoir oublié un charactère dans le tas.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
mercredi 9 juillet 2008 à 13:01:00 | Re : Remplacement de caractères spéciaux

MorpionMx

Membre Club Administrateur CodeS-SourceS
Et la le gros probleme, c'est que chaque appel de Replace recrée une instance de string... qui devra être ensuite Garbage collectée.
Niveau perf, c'est pas terrible

Mx
MVP C#
 

dimanche 13 juillet 2008 à 21:15:46 | Re : Remplacement de caractères spéciaux

coq

Administrateur CodeS-SourceS
Salut,

"Au moins, tu sera sur de ne pas avoir oublié un charactère dans le tas."
Ce n'est pas tout à fait vrai avec System.Web.HttpUtility.HtmlEncode, elle fonctionne sur un principe de blacklist au lieu d'une whitelist qui est plus de rigueur dans ce genre de cas (j'avais abordé le sujet ici) :-).
Il vaut mieux passer par l'AntiXssLibrary donc (et surtout pas un enchainement de Replace).




/*
coq
MVP Visual C#
CoqBlog
*/


Cette discussion est classée dans : text, replace, convertir, remplacement, special


Répondre à ce message

Sujets en rapport avec ce message

envoyer un mail [ par hay2006 ] salut,je voudrais savoir comment envoyer un mail avec C# sachant que g utilisé cette fonction mais elle déclenche tjrs l'exception("ereeur de connexio replace ne marche pas [ par adleni ] string x=textBox1.Text; if (x.IndexOf("bb") != -1) x.Replace("bb",","); else MessageBox.Show("non"); M switch case ! [ par milinakos ] Bonjour à tous je viens aujourd'hui poser ma troisième question sur ce forum je suis sur un projet tout simple de débutant avec : -fichier -ouvri decryptage et converssion [ par aminasalama ] salut comment transformer le contenu d'un texte box qui a comme contennu le message chiffré avec l'algorithme rsaavec c# windows forms .premierement j Accents en c# [ par grogoin ] Bonjour, je voudrais réussir a transformé des String du type "grégou" en "gr& eacute;gou". J'ai fais provisoirement un code qui changent manuellemen Databinding Objet et Actualisation propriété du contrôle lié [ par vincentbost ] Bonjour, Je travaille avec VS 2010 - Cible Framework 4.0 J'ai implémenté la notification de changement de valeurs de propriété au niveau de mon type m charger un vecteur de 14 chiffes on sauttons la ligne chaque fois [ par omegarios ] bonjour tout le monde je suis un debutant en c et j'aimerai bien pouvoir trouver la solution dans ce forum :) voilà j'ai 14 textBox qui se chage chaq écrase un fichier text et le Remplacer avec un nouveau !! [ par omegarios ] bonjour : je suis entrain d'écrire des donné dans un fichier texte que j'ai créé moi même mais le problème c'est que je veux l'écrasé et le remplacer DataGridView et xml [ par dreamclick ] Salut, voila j'affiche le contenue de mon fichier XML dans un datagridview, avec une combo box je peut afficher selon le nom selectioner (présent dan Problème de réference [ par sewedo ] salut je suis confronter a un problem avec mon code j essai de recuperer des information saisi dans un texbox1 nomme (Text1.Text) de Default.aspx


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,407 sec (3)

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