• Aucun résultat trouvé

Propriété Length

Cette propriété contient le nombre de caractères d'une chaîne.

Dim S1 As String S1 = "AZERTY"

Console.WriteLine(S1.Length.ToString) ' Affiche 6

Méthodes Compare

La méthode Compare retourne une valeur négative, nulle ou positive selon que des deux chaînes passées en paramètre, la première est plus petite, égale ou plus grande que la deuxième.

Dim S1, S2, S3 As String S1 = "AZERTY"

S2 = "QWERTY" S3 = "QWERTY"

Console.WriteLine(String.Compare(S1, S2).ToString) ' Affiche -1

Console.WriteLine(String.Compare(S2, S1).ToString) ' Affiche 1

Console.WriteLine(String.Compare(S2, S3).ToString) ' Affiche 0

Un troisième paramètre de valeur True ou False peut être passé à la méthode pour indiquer si la casse doit être différenciée ou non lors de la comparaison (Compare(S1, S2, True) ou Compare(S1, S2, False)).

Concat

Cette méthode réalise la concaténation des chaînes qui lui sont passées en paramètre et restitue une nouvelle chaîne. Elle est équivalente à l'usage de l'opérateur de concaténation &.

Console.WriteLine(String.Concat(S1, " ", S2)) ' Affiche AZERTY QWERTY

Copy

Cette méthode copie une chaîne dans une autre. Elle est équivalente à l'usage de l'opérateur d'affectation =. CopyTo

La méthode CopyTo effectue la copie d'une sous chaîne vers un tableau de caractères. Ses arguments sont l'index de départ de la copie, le tableau destinataire, l'index de départ dans ce tableau et le nombre de caractères à copier.

Dim S1 As String Dim TS(10) As Char S1 = "AZERTY"

S1.CopyTo(2, TS, 0, 3) ' De l'index 2, vers TS à partir de 0, 3 caractères

For i As Integer = 0 To 2

Console.Write(TS(i)) ' Affiche ERT

Next

IndexOf et LastIndexOf

Ces méthodes fournissent respectivement la première et la dernière occurrence d'une sous chaîne dans une chaîne donnée. Elles renvoient -1 si la sous chaîne n’est pas trouvée.

S1 = "AZERTYAZERTY"

Console.WriteLine(S1.IndexOf("ZER")) ' Affiche 1

Insert

Permet l'insertion d'une sous chaîne dans une chaîne donnée à partir d'un index également donné.

S1 = "AZERTY"

Console.WriteLine(S1.Insert(4, " & ")) ' Affiche AZER & TY

Remove

Suppression dans une chaîne, d'un nombre de caractères donnés à partir d'un index également donné.

S1 = "AZERTY"

Console.WriteLine(S1.Remove(3, 2)) ' Affiche AZEY

Replace

Remplacement dans une chaîne, de toutes les occurrences d’une sous chaîne donnée par une autre.

S1 = "AZERTY est un mot comme un autre"

Console.WriteLine(S1.Replace("ER", "xxx")) ' Affiche AZxxxTY est un …

Console.WriteLine(S1.Replace(" ", "")) ' Enlève tous les espaces

Split

Copie les sous chaînes délimitées par un ou plusieurs caractères dans un tableau de caractères.

Dim S1 As String

Dim S2 As Char() = {" "} ' Table des séparateurs

Dim S3() As String ' Tableau des résultats

S1 = "AZERTY, QWERTY sont des mots comme : Visual Studio; VB" S3 = S1.Split(S2)

For Each S As String In S3 Console.WriteLine(S) Next

Affichage quand S2 est {" "} : AZERTY, QWERTY sont des mots comme : Visual Studio; VB

Affichage après remplacement de S2 par {" ", ",", ";", ":"} : AZERTY QWERTY sont des mots comme Visual Studio VB

Substring

La méthode Substring permet l'extraction d'une sous chaîne désignée par son index de début et son nombre de caractères.

Dim S1 As String S1 = "AZERTY"

Console.WriteLine(S1.Substring(2, 3)) ' Affiche ERT

ToLower et ToUpper

Ces méthodes effectuent les conversions de chaînes en minuscules pour ToLower et en majuscule pour ToUpper. Trim, TrimStart et TrimEnd

Ces méthodes permettent la suppression d'un ou plusieurs caractères donnés, ou des espaces à défaut de spécification, aux extrémités d'une chaîne (Trim), ou au début (TrimStart) ou à la fin (TrimEnd) de la chaîne.

Dim S1 As String

Dim S2 As Char() = {"@", "#"} ' Table des caractères à ôter

S1 = "#@AZERTY #@# QWERTY@#"

Console.WriteLine(S1.TrimStart(S2)) ' Affiche AZERTY #@# QWERTY@#

Console.WriteLine(S1.Trim(S2)) ' Affiche AZERTY #@# QWERTY

Console.WriteLine(S1.TrimEnd(S2)) ' Affiche #@AZERTY #@# QWERTY

Format

La signature de la méthode Format se compose de deux parties, à l'instar de la fonction printf du langage C, l'une constituant une chaîne de formatage, l'autre la liste des valeurs à formater. Ainsi, dans l'expression

String.Format("{1} + {0} = {2}", a, b, a + b), chaque paire d'accolades contient l'index d’une valeur à formater (de 0 à n-1) et les guillemets délimitent la chaîne résultat qui est alors suivie des valeurs à représenter. Si l’expression de cet exemple est contenue dans une instruction de sortie (auquel cas la mention String.Format peut être omise) et si les valeurs respectives de a et b sont 3 et 5, le résultat affiché sera 5 + 3 = 8.

Entre les accolades, les index de chaque valeur peuvent être assortis d'attributs de formatage. En voici les principaux. Codes Usages et exemples

C Présentation d'un nombre au format monétaire.

String.Format("{0:C}", 1.25) ' Résultat 1,25€

D Présentation d'un nombre sans décimale avec zéros non significatifs.

String.Format("{0:D5}", 125) ' Résultat 00125

E Présentation d'un nombre au format scientifique.

String.Format("{0:E}", 123456.789) ' Résultat 1,234568E+005

F Présentation d'une valeur numérique avec un nombre déterminé de décimales.

String.Format("{0:F3}", 1234.56789) ' Résultat 1234,568

N Présentation d'un nombre avec les séparateurs de milliers.

String.Format("{0:N}", 1234567.89) ' Résultat 1 234 567,89

String.Format("{0:N3}", 1234.56789) ' Résultat 1 234,568

P Présentation d'un nombre sous forme de pourcentage.

String.Format("{0:P}", 0.1234) ' Résultat 12,34%

R Présentation des nombres en virgule flottante avec leur précision maximale.

String.Format("{0:R}", Math.Pi) ' Résultat 3,1415926535897931

X Présentation des nombres entiers sous forme hexadécimale.

String.Format("{0:X}", 65535) ' Résultat FFFF

String.Format("{0:X8}", 65535) ' Résultat 0000FFFF

. Définition de la position du séparateur décimal dans la chaîne résultante.

, La virgule provoque le placement du séparateur de milliers dans la chaîne résultante. Elle doit être placée à l’intérieur d’une chaîne de formatage composée des caractères # et 0 et à l’intérieur de la partie entière. Si elle est placée à l’extrême droite de cette partie, le nombre est divisé par 1000.

String.Format("{0:##,#.##}", 123456.35) ' Résultat 123 456,35

# Définition de l’espace souhaité pour la présentation des nombres sans les zéros non significatifs.

String.Format("{0:###}", 12.35) ' Résultat 12

String.Format("{0:###}", 12.65)) ' Résultat 13

String.Format("{0:###.##}", 12.35) ' Résultat 12,35

String.Format("{0:###.#}", 12.35) ' Résultat 12,4

0 Définition de l’espace souhaité pour la présentation des nombres avec placement des zéros non significatifs. String.Format("{0:000}", 12.35) ' Résultat 012 String.Format("{0:000}", 12.65) ' Résultat 013 String.Format("{0:000.00}", 12.3) ' Résultat 012,30 String.Format("{0:000.00}", 12.35) ' Résultat 012,35 String.Format("{0:000.0}", 12.35) ' Résultat 012,4

% La chaîne résultante représente le nombre multiplié par 100 et terminé par le caractère %.

String.Format("{0:###.#%}", 12.35) ' Résultat 1235% String.Format("{0:###.#%}", 0.1265) ' Résultat 12,7% - + $ et autres caractères et textes divers

Ces caractères sont insérés dans la chaîne résultante tels qu'ils sont tapés dans la chaîne de formatage. C'est aussi le cas de la plupart des caractères. Certains, tels que des caractères de formatage, doivent être précédés d'un \ pour être affichés. C'est le cas du \ lui-même.

String.Format("{0:>####}", 123) ' Résultat >123

String.Format("{0:\####}", 123) ' Résultat #123

String.Format("{0:\\###}", 123) ' Résultat \123

String.Format("{0:A###}", 123) ' Résultat A123

Les chaînes de formatage peuvent être construites préalablement en tout ou en partie par l'usage d'une ou plusieurs variables de type String et de chaînes littérales.

S = "AZER"

String.Format("{0:" & S & " TY ##}", 12) ' Résultat AZER TY 12

S = "{0:" & "T " & "Y ##}"

String.Format(S, 12) ' Résultat T Y 12

d Présentation d’une date au format court. Dans les exemples suivants, D est un objet DateTime et sa propriété Now contient les date et heure de l'instant actuel .

String.Format("{0:d}", D.Now) ' Résultat 7/03/2006

D Présentation d’une date au format long.

String.Format("{0:D}", D.Now) ' Résultat mardi 7 mars 2006

t Présentation d’une heure au format court.

String.Format("{0:t}", D.Now) ' Résultat 21:14

T Présentation d’une heure au format long.

String.Format("{0:T}", D.Now) ' Résultat 21:14:25

M ou m Présentation d’une date par le jour et le mois.

String.Format("{0:M}", D.Now) ' Résultat 7 mars

Y ou y Présentation d’une date par le mois et l’année.

String.Format("{0:Y}", D.Now) ' Résultat mars 2006

f Présentation d’une date au format long avec l’heure au format court.

String.Format("{0:f}", D.Now) ' Résultat mardi 7 mars 2006 21:14

F Présentation d’une date au format long avec l’heure au format long.

String.Format("{0:F}", D.Now) ' Résultat mardi 7 mars 2006 21:14:25

g Présentation d’une date au format court avec l’heure au format court.

String.Format("{0:g}", D.Now) ' Résultat 7/03/2006 21:14

G Présentation d’une date au format court avec l’heure au format long.

String.Format("{0:G}", D.Now) ' Résultat 7/03/2006 21:14:25

s Présentation de la date et de l’heure sous la forme d’une clé pouvant fournir un index.

String.Format("{0:s}", D.Now) ' Résultat 2006-03-07T21:14:25