OVH Cloud OVH Cloud

Gestion des caractères

3 réponses
Avatar
Alex
Bonjour,
je voudrais savoir si il existe une méthode qui gère les espaces en trop
dans une chaine de caractère.
Pour le moment je compare 2 caractères qui sont l'un à coté de l'autre, afin
de trouver le moment où les 2 sont des espaces et donc que la phrase est
terminée.
Mon problème étant qu'après avoir géré ce problème, l'affichage ne comporte
que le premier mot.

foreach (DataTable j in DsRecupAdLivrClient.Tables)
{
adrlivr = j.Rows[0][0].ToString();
}
adliv = adrlivr.ToCharArray();
i = 0;
y = 1;
al += adliv[i];
while (adliv[i] != ' ' && adliv[y] != ' ')
{
al += adliv[y].ToString();
i++;
y++;
}
txtceerclientadrlivr.Text = al;

Merci à tous

3 réponses

Avatar
Fred
Dans : news:,
Alex disait :
Bonjour,



Bonjour

je voudrais savoir si il existe une méthode qui gère les espaces en
trop dans une chaine de caractère.
Pour le moment je compare 2 caractères qui sont l'un à coté de
l'autre, afin de trouver le moment où les 2 sont des espaces et donc
que la phrase est terminée.
Mon problème étant qu'après avoir géré ce problème, l'affichage ne
comporte que le premier mot.




Normal. La boucle s'arrête dès que adliv[y]==' '

Regarde les méthodes de la classe String. Il est peut-être plus simple
de rechercher la position de la chaîne " " (deux espaces) dans adrlivr.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
hell
Salut,

Avec des expressions regulières :
ca devrait marcher
System.Text.RegularExpressions.Regex.Replace(str,"s+"," ");

(code non testé)

ca devrait marcher
a+
Eric

"Alex" a écrit dans le message de
news:
Bonjour,
je voudrais savoir si il existe une méthode qui gère les espaces en trop
dans une chaine de caractère.
Pour le moment je compare 2 caractères qui sont l'un à coté de l'autre,


afin
de trouver le moment où les 2 sont des espaces et donc que la phrase est
terminée.
Mon problème étant qu'après avoir géré ce problème, l'affichage ne


comporte
que le premier mot.

foreach (DataTable j in DsRecupAdLivrClient.Tables)
{
adrlivr = j.Rows[0][0].ToString();
}
adliv = adrlivr.ToCharArray();
i = 0;
y = 1;
al += adliv[i];
while (adliv[i] != ' ' && adliv[y] != ' ')
{
al += adliv[y].ToString();
i++;
y++;
}
txtceerclientadrlivr.Text = al;

Merci à tous


Avatar
Thierry HUGUET [MS]
Il existe les méthodes String.Trim, String.TrimEnd et String.Start pour
gérer les espaces.

Sinon, la classe String dispose de plusieurs méthodes qui pourraient vous
aider.

Thierry HUGUET
Microsoft

"Alex" a écrit dans le message de news:

Bonjour,
je voudrais savoir si il existe une méthode qui gère les espaces en trop
dans une chaine de caractère.
Pour le moment je compare 2 caractères qui sont l'un à coté de l'autre,
afin
de trouver le moment où les 2 sont des espaces et donc que la phrase est
terminée.
Mon problème étant qu'après avoir géré ce problème, l'affichage ne
comporte
que le premier mot.

foreach (DataTable j in DsRecupAdLivrClient.Tables)
{
adrlivr = j.Rows[0][0].ToString();
}
adliv = adrlivr.ToCharArray();
i = 0;
y = 1;
al += adliv[i];
while (adliv[i] != ' ' && adliv[y] != ' ')
{
al += adliv[y].ToString();
i++;
y++;
}
txtceerclientadrlivr.Text = al;

Merci à tous