IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Webi Discussion :

Calcul de nombre d'occurrences d'un caractère dans une chaîne de caractères [BI4]


Sujet :

Webi

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2019
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Calcul de nombre d'occurrences d'un caractère dans une chaîne de caractères
    Bonjour,

    J'ai une dimension qui contient des chaînes de caractères et je voudrai calculer le nombre de parenthèses dans chacune de ces chaînes et je ne sais pas s'il y a une fonction spécifique pour faire ceci. En effet, j'ai des chaînes de caractères du type : "(((A1/A2).B1.(C1/C2)/(A3/A4)", et je voudrai calculer par exemple le nombre de parenthèses ouvrantes avant "C1" et "C2" et les parenthèses fermantes qui se trouvent après. Faire la somme de nombre de parenthèses avant et après "C1" et la somme de nombre de parenthèses avant et après "C2" et comparer les deux sommes pour savoir si les deux sous chaînes se trouvent entre les mêmes parenthèses ou pas.
    Et puis je ne sais pas s'il y a une fonction pour parcourir les chaînes de caractères (caractère par caractère) comme les boucles for ou while dans les autres langages de programmation. Ceci m'évitera de mettre plein de conditions Si imbriquées.

    Des idées?



    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 528
    Points
    528
    Par défaut
    Bonsoir,

    Voici une solution possible.

    L'idée étant de calculer la longueur de la chaîne de caractères se trouvant à gauche de "C1".
    Ensuite de soustraire cette longueur par la même chaîne de caractères dans laquelle on retire toutes les parenthèses ouvrantes "(". Le résultat ainsi calculé correspond au nombre de parenthèses ouvrantes avant "C1".


    Concrètement, si la chaine de caractères se trouve dans la colonne [Col1] cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = Longueur(Gauche([Col1];Pos([Col1];"C1"))) - Longueur(Remplacer(Gauche([Col1];Pos([Col1];"C1"));"(";""))

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2019
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci Canvas pour votre réponse, ça marche très bien

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2019
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Un autre problème
    Me voilà de retour!
    Svp auriez vous une méthode de calcul pour savoir si deux mots dans une chaine de caractères (qui contient des champs entre des parenthèses séparés par des / ) appartiennent aux mêmes parenthèses où pas?
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/05/2011, 18h58
  2. Réponses: 6
    Dernier message: 12/12/2010, 23h09
  3. Réponses: 9
    Dernier message: 27/09/2007, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo