Flux rss
Collection CommentCaMarche.net

Les guillemets, apostrophes et les chaînes

Publié par DJ Fire-Black, dernière mise à jour le lundi 27 octobre 2008 à 22:12:13 par DJ Fire-Black

Comment jouer avec les guillemets et les apostrophes dans les chaînes




1. Préambule


Vous vous posez parfois la question : "Pourquoi sans jouer avec les guillemets et apostrophes, ça coupe une chaîne?".
Une chaîne, c'est un texte simple ne dépassant pas, parfois, 256 caractères et ayant d'autres restrictions selon votre interpréteur.
C'est simple, dans tous les langages de programmation, vous devez ouvrir et fermer votre chaîne avec des guillemets. Faites-le tout le temps, de préférence, mais vous n'êtes pas obligé(e), si votre interpréteur comprend sans les guillemets, dans le cas d'une chaîne ne contenant pas d'espace.
Pourquoi les espaces ?
Parce que très souvent ça veut dire qu'on passe à autre chose, une autre fonction, etc ...

2. Éviter une coupure dans la chaîne


Si votre message est coupé, c'est sûrement que vous n'avez pas mis de guillemets ou des apostrophes, alors que votre message est coupé (par un espace en l'occurrence).
Il suffit de rajouter un guillemet ou une apostrophe aux deux extrémités de la chaîne.
Comme ceci (exemple en PHP) :
echo "<br><br>Bienvenue ...</b><br>";

J'aurais pu mettre :
echo '<br><br>Bienvenue ...</b><br>';

C'est pareil ... le résultat ne change pas.

3. Ajouter un guillemet dans la chaîne


Alors là, vous avez deux solutions, mais qui sont à adapter avec votre langage.

3.1 Avec l'apostrophe


Simple comme tout, encore un exemple en PHP, ensuite je vous explique :
echo "<iframe src='http://www.monsite.ty/moncode.html' height='500px' width='96%' style='align: center;'></iframe>";

Oui, je sais que vous avez deviné : On ouvre avec les guillemets et l'apostrophe est remplacée par les guillemets (ou reste telle quelle) au résultat.

3.2 Avec l'ASCII


On va changer un peu ... prenons du visual basic :
Dim exemple as String
exemple = "Je m' appelle : " & chr$(34) & "Zeurtchreinshrentizer" & chr$(34)

Donc là on utilise le code ASCII 34 : Le guillemet, qui sera interpreté ensuite.
Testez avec ça :
Dim exemple as String
exemple = "Je m' appelle : " & chr$(34) & "Zeurtchreinshrentizer" & chr$(34)
MsgBox exemple

J'ai donc fermé la chaîne pour implémenter le chr$().
Vous pouvez utiliser n'importe quels codes ASCII avec chr$().

3.3 Directement


3.3.1 Méthode recommandée


Le moyen le plus utilisé reste encore l'utilisation de l'antislash qui permet d'annuler l'interprétation d'un caractère, donc par exemple:

maVar = "Je m'appelle \"Zeurtchreinshrentizer\"";


Dans cet exemple, le "\" permet d'annuler l'interprétation du guillemet comme fin de string (chaine).

3.3.2 Seconde méthode


Certains compilateurs peuvent la gérer. ça reste rare, et peut mener à des erreurs. Néanmoins je vous la met quand même, puisque c'est un bon moyen de savoir les limites de son compilateur, alors vous testerez si vous voulez, mais généralement ça ne dérange pas un script dit Basic.
Donc il suffit de définir une variable telle que :
Guillemet = """

(à adapté avec votre langage)
Et avec ça, vous faites :
Guillemet = """
Message = "Voici le message : "+Guillemet+"Le message est là"+Guillemet

Cela revient bien sur à faire simplement :
Message = "Voici le message : """Le message est là"""

C'est donc là que vous pouvez vous rendre compte le pourquoi des conséquences, si ce n'est pas compatible.
Et voilà ...
[PHP] Les ressemblances à ne pas confondre Les ressemblances à ne pas confondre Introduction Concatenation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente... www.commentcamarche.net/faq/sujet-4479-php-les-ressemblances-a-ne-pas-confondre
Comment gérer le "l apostrophe" en PHP (Résolu) J ai un autre petit problème concernant ma liste de diffusion. Lorsque je tappe un l apostrophe, php me renvoie le resulat suivant : \' www.commentcamarche.net/forum/affich-113-comment-gerer-le-l-apostrophe-en-php
Javascript - Les chaînes de caractères Qu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de... www.commentcamarche.net/contents/javascript/jschar.php3
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';'Cette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple : www.commentcamarche.net/faq/sujet-869-php-parse-error-unexpected-t-string-expecting-or
Connecter le PC à la chaîne hifi sans filVotre PC est dans le bureau et votre chaîne hifi dans le salon et vous souhaiteriez profiter du son de votre installation hifi pour écouter vos MP3 stockés sur l'ordinateur ? Cette fiche a pour objectif de recenser les différentes possibilités de... www.commentcamarche.net/faq/sujet-10751-connecter-le-pc-a-la-chaine-hifi-sans-fil
Passer le son de l'ordi sur une chaîne hi-fiTuto : Comment installer le son de l’ordi sur un ampli (Toutes versions d’OS) Ce tutoriel a pour but d’expliquer comment passer l’audio (en stéréo) de l’ordinateur sur une chaîne Hi Fi. Plusieurs solutions existent, mais je n’en développerais qu’une... www.commentcamarche.net/faq/sujet-38-passer-le-son-de-l-ordi-sur-une-chaine-hi-fi
Convertir guillemets simples en doubles (Résolu)Bonjour, Voici mon problème : Comment convertir une chaîne de caractères entre guillemets simples (pour laquelle les \r et \n ne sont pas interprétés) en chaîne entre guillemets doubles ? Je veux simplement appliquer la fonction nbl2r à une chaîne... www.commentcamarche.net/forum/affich-9491965-convertir-guillemets-simples-en-doubles
Afficher chaîne avec apostrophes, lue dans BD (Résolu)Salut à tous, j'ai des difficultés à afficher une variable contenant la valeur d'un champs de type chaîne, lue dans une bd par exemple, ma variable $s est affiché ainsi, avec la fonction echo: Etes-vous pour ou contre l\'introduction de... www.commentcamarche.net/forum/affich-2098202-afficher-chaine-avec-apostrophes-lue-dans-bd
PHP petit problème (Résolu)Bonjour à tous, j'ai un problème avec une requête en PHP qui ne s'exécute pas si ma variable $chaine contient " ' ". Le problème c'est que j'ai besoin de garder les apostrophe dans ma chaine. Voici le code : sachant que $e est... www.commentcamarche.net/forum/affich-7542664-php-petit-probleme
[Brève] Créer sa propre chaîne TVWorldTV propose de créer sa propre chaîne TV en ligne . L'internaute est maître de son contenu, il crée son propre logo de chaîne et affiche ses vidéos en plein écran. Le site n'héberge pas de vidéos, il ne renvoie en fait que sur des liens de vidéos... www.commentcamarche.net/actualites/breve-creer-sa-propre-chaine-tv-4364143-actualite.php3
Les chaînes de caractères en C++Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une... www.commentcamarche.net/contents/cpp/cppstring.php3
Connecter l'ordinateur à une chaîne HIFIPourquoi brancher son PC sur une chaîne? Les ordinateurs fournissent désormais un son aussi bon que des chaînes hifi. Il est possible de s'en servir pour écouter de la musique notamment grâce aux fichiers mp3 qui restituent un son quasimment... www.commentcamarche.net/contents/pratique/hifi.php3
Supply Chain Management (SCM)Introduction à la notion de chaîne logistique Dans une entreprise de production, le temps de réalisation d'un produit est fortement conditionné par l'approvisionnement en matières premières, en éléments d'assemblage ou en pièces détachées à tous... www.commentcamarche.net/contents/entreprise/scm.php3