Comment comment supprimer un caractère dans une chaine?

Résolu/Fermé
Alexoxido Messages postés 5 Date d'inscription mardi 25 décembre 2012 Statut Membre Dernière intervention 6 février 2013 - Modifié par Alexoxido le 25/12/2012 à 15:25
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 25 déc. 2012 à 21:33
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
A voir également:

4 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
25 déc. 2012 à 17:28
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.
0
Alexoxido Messages postés 5 Date d'inscription mardi 25 décembre 2012 Statut Membre Dernière intervention 6 février 2013
25 déc. 2012 à 18:34
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
0
Gradi Messages postés 16 Date d'inscription vendredi 7 décembre 2012 Statut Membre Dernière intervention 27 décembre 2012 2
Modifié par Gradi le 25/12/2012 à 20:11
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.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
25 déc. 2012 à 20:47
MID est une fonction VB, pas de l'algorithmique...
0
Gradi Messages postés 16 Date d'inscription vendredi 7 décembre 2012 Statut Membre Dernière intervention 27 décembre 2012 2
25 déc. 2012 à 21:10
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.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
25 déc. 2012 à 21:33
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 ;-).
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
25 déc. 2012 à 20:51
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 
 
0