Suppression des blancs avec COBOL

Bonjour

Comment supprimer les blancs à droite dans une chaîne de caractères avec COBOL
par exemple 'abcd ' deviendrait 'abcd'

Merci.

7 réponses

  1. Modérateur
    Salut,

    UNSTRING ... DELIMITED BY ALL SPACES INTO ...

    Ca devrait le faire...

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    1
    1. Merci, j'ai essayé
      mais apparemment cela ne fonctionne pas!
      Il y a toujours les blancs
      de je veux éliminer uniquement les blancs à droite
      par exemple:
      'DE SEVRES '
      ne pas supprimer l'espace entre 'de' et 'sevres'
      A plus
      0
      1. Modérateur
        Ok, donc dans ce cas, la seule solution est de redéfinir ta zone de saisie en tableau :

        05 toto occurs 200.
        10 str pic x.

        move tavariable to toto.

        Et ensuite tu fais une boucle qui décrémente i de 200 à 1 et tu testes x(i) jusqu'à ce que x(i) soit différent d'espace. Dès que ta condition est vraie tu recopies la suite dans une autre variable (avec 'string').
        0
        1. Bonjour
          Si à priori, tu ne sais pas ou mettre les blancs, ça parait difficile!!
          'DE SEVRES " Comment savoir qu'il faut laisser le blanc entre DE et
          SEVRES ???
          Une fois déterminé ce problème, le reste est résolu...
          KAIDI
          0
          1. Modérateur
            Euh ben si, il a dit 'supprimer les blancs à droite'... ;-)
            0
        2. dois-tu supprimer tous les blancs ou pas?
          'DE SEVRES" doit-il devenir "DESEVRES" ?
          0
          1. Modérateur
            Non, il ne veut que supprimer les blancs à droite...
            0
        3. il ne peut le faire que s'il connait par avance les mots (ou les longueurs) dont il doit supprimer les blancs!!
          0
          1. Bonjour,

            je vous remercie tous pour votre aide très précieuse!
            0
            1. bonjour

              il faut je pense utiliser un occurs et tester la valeur caracteres par caracteres

              mais ne pas faire la sup si val (I) = spaces et val (i + 1) not = spaces

              cordialement
              0
            2. Modérateur
              @claudius51Ca fait 3 ans que le problème est résolu...
              0