Les guillemets, apostrophes et les chaînes

Dernière mise à jour le 11 novembre 2009 à 20:59 par marlalapocket
Publié 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à ...
Meilleures réponses pour « Les guillemets, apostrophes et les chaînes » dans :
[PHP] Les ressemblances à ne pas confondre Voir Introduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en...
Connecter le PC à la chaîne hifi sans fil VoirVotre 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...
Frequences des chaînes TV françaises VoirFréquences des chaînes hertziennes publiques http://www.csa.fr/infos/operateurs/sites_tableau.php Fréquences TNT http://www.matnt.tdf.fr/ http://www.tvnt.net/couverture-tnt-335.html
Javascript - Les chaînes de caractères VoirQu'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...
Les chaînes de caractères en C++ VoirQu'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...
Langage C - Les chaînes de caractères VoirQu'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 chaîne...