.coin {
background-color:#E4EFFF;
border:1px solid #9FC6FF;
padding:5px;
/*arrondir les coins en haut à gauche et en bas à droite*/
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
font-family: ‘Trebuchet MS’, Verdana, sans-serif;
}
Chaînes de caractères en C#
//
Définitions
Définition
Une chaîne est un objet de type String dont la valeur est du texte. En interne, le texte est stocké comme une collection en lecture seule d’objets Char, chacun représentant un caractère Unicode codé au format UTF-16.
Une chaîne de caractères est une suite de char (caractères UNICODE).
Le type utilisé pour d’éclarer une chaîne de caractères est string.
La classe String du .NET Framework propose de nombreuses méthodes intégrées pour faciliter la comparaison et la manipulation de chaînes.
Il est à présent facile d’obtenir des données sur une chaîne ou de créer de nouvelles chaînes en manipulant des chaînes existantes.
Une chaîne de caractères est un tableau contenant des caractères utilisables pour être mis dans une variable ou affichable dans un message.
On peut indiquer un guillemet double pour délimiter le début et la fin d’une chaîne de caractères. De plus, on peut lui attribuer une valeur immédiatement lors de la création de la variable (String) ou après.
Une chaîne est une collection séquentielle de 0 ou plusieurs caractères Unicode.
Chaque caractère dans une chaîne a une position (appelée aussi indice). Le 1er caractère a l’indice 0.
Déclaration et initialisation
Déclaration et initialisation
Le mot-clé string identifie le type de données chaîne. La chaîne est déclarée entre guillemets.
Un objet de type chaîne est créé. Une chaîne est immuable : le contenu de l’objet ne peut être modifié.
string nom_chaine = ” valeur initiale “;
Par exemple, on déclare une chaîne c contenant “apcpedagogie.com” de la sorte :
string apc=“apcpedagogie.com”
// Déclarez sans initialisation .
string message1;
// Initialisation à null .
string message2 = null;
// Initialisation comme une chaîne vide .
//Utilisez la constante vide à la place du littéral "".
string message3 = System.String.Empty;
//Initialisation avec une chaîne régulière littérale .
string oldPath = "c:\\Program Files\\Microsoft Visual Studio 14.0";
// Initialisation avec une chaîne littérale mot à mot .
string newPath = @"c:\Program Files\Microsoft Visual Studio 9.0";
// Utilisez System.String si vous préférez.
System.String greeting = "Hello World!";
// Dans des variables locales (i.e. within a method body)
// vous pouvez utiliser le typage implicite.
var temp = "I'm still a strongly-typed System.String!";
// Utilisez une chaîne const ' message4 ' de 'message4' from
// étant utilisé pour stocker une autre valeur de chaîne .
const string message4 = "You can't get rid of me!";
// Utilisez le constructeur String uniquement lors de la création
// une chaîne à partir d'un char * , char [ ] , ou sbyte * . Voir
// System.String documentation pour plus de détails .
char[] letters = { 'A', 'B', 'C' };
string alphabet = new string(letters);
Opérations sur les chaînes
Opérations sur les chaînes
Les variables de type string permettent certaines opérations utiles
La notation générale pour l’utilisation de ces opérations est la suivante :résultat = nomVariableString.NomOpération
La Concaténation
La concaténation est une opération qui consiste à assembler des fragments de chaînes ensemble
La concaténation de deux chaînes est la juxtaposition des caractères qui les composent. L’opérateur utilisé pour ce faire est +.
Exemple: 1 string t = “H” + “al”; // t vaut ‘Hal’
t += ” “; // t vaut ‘Hal ‘
t += 9000; // t vaut ‘Hal 9000’
t = “Je suis ” + t; // t vaut ‘Je suis Hal 9000’
Exemple:2 s t r ing a = ” nabucho “;
s t r ing b = ” donosor “;
s t r ing c = a + b;
Attention : lorsqu’on fait entier + chaîne, on a une concaténation de deux chaînes, pas une addition arithmétiques
Longueur
La longueur d’une chaîne s est le nombre de caractères qu’elle contient qu’on obtient avec l’attribut : .Length. Par exemple,
Console . WriteLine ("La longueur de " + s + " est " + s. Length + ".");
/////////////////////////////////////////////////////////////////////////
string chaine = "apcpedagogie 1";
int longueur = chaine.Length; // longueur de 14
Mise en majuscules: Opération ToUpper
string majuscule = chaine.ToUpper();//APCPEDAGOGIE
///////////////
string chaine2 = "qpcpedagogie mon site de formation";
Console.Out.WriteLine(chaine2.ToUpper());//APCPEDAGOGIE MON SITE DE FORMATION
Mise en minuscules: Opération ToLower
string majuscule = chaine.ToLower();//APCPEDAGOGIE
///////////////
string chaine2 = "APCPEDAGOGIE MON SITE DE FORMATION";
Console.Out.WriteLine(chaine2.ToLower());//qpcpedagogie mon site de formation
Recherche dans une chaîne :: Opération IndexOf
La méthode IndexOf rapporte l’emplacement du premier caractère de la première occurrence de la sous-chaîne.
Si la méthode IndexOf ne trouve pas la sous-chaîne, elle retourne -1.
La méthode IndexOf respecte la casse et utilise la culture actuelle.
L’index est de base 0, ce qui signifie que l’index du premier caractère d’une chaîne est 0.
Recherche un passage dans une chaîne
Retourne l’index (position) du début du passage dans la chaîne
Si le passage est là plus d’une fois, trouve le premier
string w = "apcpedagogie";
int positionDuAp = w.IndexOf("ap"); // indice 0
///////////////////////////////////////////////
string w = "apcpedagogie";
int positionDuAl = w.IndexOf("g"); // indice 7
///////////////////////////////////////////////
if (w.IndexOf(".com") == -1)
Console.Out.WriteLine("Pas de .com ici");
Extraction d’une sous-chaîne :Opération Substring
Trouve un fragment (sous-chaîne) commençant à une position donnée de la chaîne originale
La fonction Substring attend deux paramètres pour préciser la sous-chaîne à extraire :
1. La position de départ où commencer à extraire
2. La longueur de la sous-chaîne à extraire
L’index du premier caractère d’une chaîne est toujours 0.
On extrait de s une sous-chaîne de j caractères a partir du caractère d’indice i en utilisant s.Substring(i, j).
s t r ing s = "Mon site de formation apcpedagogie.com ";
string s2 = s. Substring (23, 12);
s2 contient alors apcpedagogie.
Comparaison lexicographique de deux chaînes :: Opération CompareTo
Compare l’instance actuelle avec un autre objet du même type et retourne un entier qui indique si l’instance actuelle précède ou suit un autre objet ou se trouve à la même position dans l’ordre de tri.
La fonction retourne un entier dont la valeur indique le résultat de la comparaison
= 0 : les deux chaînes sont identiques
< 0 : la première chaîne vient avant la deuxième
> 0 : la première chaîne vient après la deuxième
using System;
class Program
{
static void Main()
{
string a = "a";
string b = "b";
int c = string.Compare(a, b);
Console.WriteLine(c);
c = string.CompareOrdinal(b, a);
Console.WriteLine(c);
c = a.CompareTo(b);
Console.WriteLine(c);
c = b.CompareTo(a);
Console.WriteLine(c);
}
}
Output
-1 (Cela signifie que a est plus petit que b)
1 (Cela signifie que b est plus petit que a)
-1
1
Caractères spéciaux
Pour inclure certains symboles dans une chaîne de caractères, il faut utiliser la barre oblique inverse suivie d’un caractère défini par C#
Pour insérer…
On utilise…
Exemple de chaîne…
Sortie à l’écran si la chaîne est affichée…
un guillemet
\”
“C’est \”Hung up\”.”
C’est “Hung up”.
une tabulation
\t
“Prénom:\tRiadh”
“Nom:\tHAJJI”
Prénom: Riadh
Nom: HAJJI
un retour chariot
\n
“A\nL\nL\nO”
A
L
L
O
barre oblique inverse
\\
“C:\\temp\\a.txt”
C:\temp\a.txt
Conversions entre entier et chaîne
Conversions entre entier et chaîne
Il est parfois nécessaire de convertir une chaîne de caractères en entier, et vice-versa
Conversion string → int
string s = "9000";
int i = int.Parse(s); // i vaut 9000
Conversion int → string
int i = 9000;
string s = i.ToString(); // s vaut "9000"
Les caractères spéciaux dans les chaines de caractères
Les caractères spéciaux dans les chaines de caractères
utilisation des guillemets dans les chaines de caractères
Pour incorporer des guillemets dans des chaines de caractères utiliser le caractère spécial \ qui sera à mettre juste devant le guillemet, par exemple le code suivant :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string chaine = "La chaîne est entre guillemet \"guillemet \"";
Console.WriteLine(chaine);
Console.ReadLine();
}
}
}
Résultat d’exécution:
Sauter une ligne
Le caractère “\“ est un caractère spécial qu’il permet de dire au compilateur qu’il sera utilisé combiné à la valeur qui le suit, permettant un retour à la ligne.
Pour sauter une ligne ou vous voulez retourner à la ligne utiliser “\n”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string chaine = "La chaîne est entre guillemet \"guillemet \"";
Console.WriteLine("guillemet" );
Console.WriteLine("g\nu\ni\nl\nl\ne\nm\ne\nt" );
Console.ReadLine();
}
}
}
Caractère de tabulation horizontale
Le caractère “\“ est un caractère spécial qu’il permet de dire au compilateur qu’il sera utilisé combiné à la valeur qui le suit, permettant d’ avoir une tabulation horizontale.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string chaine = "Le site apcpedagogie vous permet de :";
Console.WriteLine(chaine);
Console.WriteLine("\t - Apprendre à distance");
Console.WriteLine("\t - S\'évaluer");
Console.WriteLine("\t - Etre autonome");
Console.ReadLine();
}
}
}
Caractère du chemin de fichier
Pour avoir une chine de caractère qui contient le caractère accent grave(Barre oblique) Le principe est le même, il suffira de faire suivre ce fameux caractère spécial de lui-même
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string fichier = "c:apcpedagogie\\repertoire\\fichier.cs";
Console.WriteLine(fichier);
Console.ReadLine();
}
}
}
Travaux pratiques
Travaux pratiques
Exercice apcpedagogie c# chaîne 001
Ecrire un programme en c# qui demande à l’utilisateur de :
Saisir une phrase puis d’afficher si cette phrase commence par une majuscule ou minuscule.
Est ce que cette phrase se termine par un point ou non.
Afficher le nombre des mots qui contient cette phrase.
Afficher le nombre des caractères qui contient cette phrase.
Afficher le nombre des espaces blanc qui contient cette phrase.
Ecrire un programme en langage C# qui lit un texte var_txt de langueur de 100 caractères en maximum et qui enlève toutes les apparitions du charactère ‘a’ en concaténant les éléments restants. Les modifications se feront dans la même variable var_txt .
Afficher le contenu de var_txt
Afficher le contenu de var_txt inversé Solution
Exercice apcpedagogie c# chaîne 004
Ecrire un programme en C # qui demande l’utilisateur d’introduire son nom puis son prénom et qui affiche alors la longueur totale du nom sans compter les espaces.
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’utilisateur.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.