Comment comment supprimer un caractère dans une chaine? [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
mardi 25 décembre 2012
Statut
Membre
Dernière intervention
6 février 2013
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
Bonjour,

J'aimerais savoir quel est la procédure pour supprimer un caractère qui se trouve dans une chaîne et ce en algorithmique

Exemple: je souhaite retiré les "espace" dans la phrase: "cette phrase a des espace"
Cela donnera : "cettephraseadesespace"

Merci

4 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 704
Bonjour,

Dis-nous pourquoi tu n'arrives pas à le faire ?
Qu'est-ce qui te bloque ?
Si tu as commencé quelque chose, n'hésite pas à le poster pour qu'on te corrige.
Messages postés
5
Date d'inscription
mardi 25 décembre 2012
Statut
Membre
Dernière intervention
6 février 2013

Voici se que j'ai commencé.
Je ne sais pas comment faire pour la suite


PROCEDURE Supression des espace (E/S: chaineDeCarac : CHAINE)
VAR
chaineSplit : CHAINE
chaineSplit <-

DEBUT
ECRIRE("Entrer une chaine")
chaineSplit <- LIRE()
FIN
Messages postés
18
Date d'inscription
vendredi 7 décembre 2012
Statut
Membre
Dernière intervention
27 décembre 2012
2
Il n'existe aucun moyen de supprimer directement un caractère d'une chaîne... autrement qu'en procédant par collage. Il faut donc concaténer ce qui se trouve à gauche du caractère à supprimer, avec ce qui se trouve à sa droite. Attention aux paramètres des fonctions Mid, ils n'ont rien d'évident !




PROCEDURE Supression_des_lettres (E/S: chaineDeCarac : CHAINE)
VAR
chaineSplit : CHAINE
Nb, i, j :ENTIER
DEBUT
ECRIRE("Entrer une chaine")
chaineSplit <---- LIRE()
ECRIRE ("Entrez le rang du caractère à supprimer : ")
Nb <---- LIRE ()
L <----LONG(chaineSplit)
chaineSplit<---- MID(chaineSplit, 1, Nb - 1) & MID(chaineSplit, Nb + 1, L - Nb)
RETURN (chaineSplit)
FIN


LONG(chaîne): est la fonction qui nous permet de connaître la longueur d'une chaîne de caractères

MID (chaîne,n1,n2) : renvoie un extrait de la chaîne, commençant au caractère n1 et faisant n2 caractères de long.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 704
MID est une fonction VB, pas de l'algorithmique...
Messages postés
18
Date d'inscription
vendredi 7 décembre 2012
Statut
Membre
Dernière intervention
27 décembre 2012
2
Pour créer un pseudo-code, on s'inspire d'un langage de programmation!!!!!
Tu peux utiliser MIL () si tu veux, mais moi je préfère utiliser la version Anglaise.
Merci fiddy pour la remarque.
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 704
Et pourquoi pas utiliser SUPPRESPACE() ? Ou REMPLACER(CHAINE, ' ', '') ^^.
Ce que je veux dire, c'est que c'est dommage d'utiliser une telle fonction, alors qu'il n'y en a pas besoin ;-).
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 704
Par exemple :
PROCEDURE Supression des espace (E/S: chaineDeCarac : CHAINE) 
VAR 
chaineSplit : CHAINE 
resultat : CHAINE
car : LETTRE

DEBUT 
ECRIRE("Entrer une chaine") 
chaineSplit <- LIRE()

resultat <- VIDE
POUR CHAQUE car de chaineSplit FAIRE :
   SI car <> ' ' ALORS resultat <- resultat + car
FIN POUR

FIN