Loading

Extraction de sous-chaînes délimitées par des caractères depuis des chaînes

Date de publication: Mar 11, 2024
Tâche
Comment extraire une chaîne de caractères, délimitée par des caractères de début et de fin spécifiques, à partir d'une chaîne de caractères plus grande.
Étapes
Les instructions suivantes décrivent comment extraire une sous-chaîne d'une longue chaîne de caractères et peuvent être consultées dans le classeur joint.
  1. Sélectionnez Analyse > Créer un champ calculé.
  2. Dans la boîte de dialogue Champ calculé qui s'ouvre :
    • Nommez le champ calculé, Dans l'exemple de classeur, le champ calculé est appelé Substring.
    • Dans le champ de formule, créez un champ calculé de ce type :
      IF CONTAINS([<Dimension>], '<Identifying Character 1>') THEN
      MID(
          [<Dimension>],
          FIND([<Dimension>],'<Identifying Character 1>') + 1,
          FIND([<Dimension>],'<Identifying Character 2>') - (FIND([<Dimension>],'<Identifying Character 1>') +1)
      )
      END
      
  3. Cliquez sur OK.
  4. Faites glisser Substring vers l'étagère Lignes.
Ressources supplémentaires
  • Ce calcul n'inclut pas les caractères identifiants dans la sous-chaîne finale. Pour inclure les caractères identifiants, supprimez « +1 » dans les endroits où il apparaît dans le calcul ci-dessus.
  • La déclaration IF utilisant la condition CONTAINS([<Dimension>], '<Identifying Character 1>') filtre les chaînes qui ne contiennent pas le premier caractère identifiant. Ceci est nécessaire parce que FIND() renvoie 0 si le caractère est introuvable, ce qui est toujours une position de début valide pour MID().
  • Le « caractère identifiant 1 » se trouverait au début de la sous-chaîne souhaitée.
  • Le « caractère identifiant 2 » se trouverait à la fin de la sous-chaîne souhaitée.
  • Lorsque vous tentez de trouver la sous-chaîne entre 2 instances du même caractère (par exemple « chien » dans la chaîne « le *chien* est marron »), utilisez FINDNTH() au lieu de FIND() pour la seconde instance. Elle peut se présenter ainsi :
    • MID(
          [<Dimension>],
          FIND([<Dimension>],'<Identifying Character>') + 1,
          FINDNTH([<Dimension>],'<Identifying Character>', 2) - (FIND([<Dimension>],'<Identifying Character>') +1)
      )
      
Numéro d’article de la base de connaissances

001458203

Pièces jointes

Extract Substring_v2019.1.twbx

1284 KB

 
Chargement
Salesforce Help | Article