Conversion chaîne de caractère pour la mettre entre balise [C#]

Résolu
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010 - 24 avril 2008 à 09:56
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 26 avril 2008 à 23:27
Bonjour,

J'aimerais convertir un texte que le client rentrera en une chaîne de caractère entre balise pour pouvoir l'insérer dans une requête SQL qui demande ce format.
Par exemple:
convertir : coucou, est-ce que tu reçoit bien un mail? --> en :
'coucou [NAME], 

est-ce que ça t'envoie bien un mail? 

'
Je ne sais pas du tout et je n'ai pas trouvé comment faire. Si vous pouviez m'aider merci d'avance.
Bonne journée.

11 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
24 avril 2008 à 12:16
Hello,

Pour les caractère spéciaux, tu peux essayer avec System.Web.HttpUtility.HtmlEncodeCa ne transformera pas ç en  ç mais en ç ce qui revient au même.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
3
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
24 avril 2008 à 10:21
Salut,
Peut être qu'en utilisant String.Split tu pourrais separer la chaîne entrée par l'utilisateur et la transformer ensuite.

Par exemple

String name = "toto";
String phraseSortie="";
String chaineEntree="coucou, est-ce que tu recoit bien un mail?";
String[] partiePhrase=chaineEntree.Split(',');

phraseSortie+=""+partiePhrase[0]+" "+name+",

"+partiePhrase[1]+"

";
0
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010
24 avril 2008 à 10:56
ça pourrait marcher en effet et j'y ai pensé cependant je ne sais pas ce que le client va rentrer comme texte du coup je peux pas savoir ou "splitter",et ou mettre les balises.
0
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
24 avril 2008 à 10:59
Après tu peux toujours recuperer la chaine et appliquer plusieurs split différents avec un traitement particulier pour chacun, genre je split sur les espaces, si le premier mot est "coucou", "bonjour","salut" je rajoute le nom derriere, je split sur les virgules etc ..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010
24 avril 2008 à 11:12
oui en effet c'est une possibilité. je peux détecter tous les sauts de lignes et rajouter en début de chaque phrase et en fin de ligne

et pour les caractères spéciaux je peux les détecter et les remplacer par ce qu'il va bien par ex: ç --> ç
Manque plus qu'à coder maintenant.
Merci pour le coup de main.
0
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
24 avril 2008 à 11:14
De rien ^^
0
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010
24 avril 2008 à 13:12
Merci beaucoup SharpMao ça va bien m'aider.
0
Cipoli Messages postés 53 Date d'inscription mercredi 29 août 2007 Statut Membre Dernière intervention 31 mars 2010
24 avril 2008 à 14:30
Peut tu simplement construire une phrase de type :

string template = "coucou M.<%Name%> <%Prenom%> ,&nbsp;

est-ce que &ccedil;a t&#39;envoie bien un mail?&nbsp;

"

//Et tu remplace les <%Emplacement%> par les valeurs de ton choix.
template = template.Replace(<%Name%>, "Mon Nom");
template = template.Replace(<%Prenom%>, "Mon Prénom");

Voila bon courage tiens moi au courant.
0
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010
24 avril 2008 à 14:50
Non je ne peux pas le faire car si tu veux le client peut écrire 100 lignes et je ne sais pas ce qu'il va marquer. Ce que m'a dit SharpMao marche parfaitement pour les caractères spéciaux maitenant ce que je voudrais faire c'est rajouter au début de chaque ligne et en fin de ligne

.
0
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
24 avril 2008 à 14:53
Ben je vois pas trop d'autres manières que de splitter ta chaine sur le caractère "\n" pour du linux ou du "\n\r" pour du windows il me semble.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2008 à 23:27
Salut,

\r\n plutôt sous Windows (CRLF, pas LFCR)
De manière générale voir plutôt Environment .NewLine.

Concernant System.Web.HttpUtility.HtmlEncode citée par SharpMao : attention elle est relativement limitée, j'en ai parler un peu ici, ici et ici.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous