Désagréger une chaîne de texte dans une table de donnéesJe cherche une solution pour désagréger une chaîne de caractères dans un tableau de données. Par exemple le texte ressemble à ceci:
" Nouveau: abedpk möckife Adv: pierjpkmdf "
Je veux séparer la chaîne après le " Nouveau: "une partie dans une colonne séparée et la chaîne suivant le" Adv: "partie dans un autre. La longueur des chaînes entre les mots-clés de départ peut être très différente d'une cellule à l'autre.
Comment puis-je faire ceci? J'ai essayé quelques commandes de l'éditeur de formule, mais cela n'a pas réussi.
Merci d'avance pour votre aide!
Markus
Re: désagréger une chaîne de texte dans une table de donnéesMerci pour votre proposition. Cela m'a amené à cette idée:
1) J'ai substitué "Nouveau:" et "ADV:" par "\ § \" (car ce signe n'apparaît pas dans le texte)
2) fait de nouvelles colonnes pour "NEW" et "ADV"
3) chaînes sélectionnées par cette formule:
Réduire ( Mot ( 1 , Réduire ( :UN B ), "\ § \" ))
Réduire ( Mot ( 2 , Réduire ( :UN B ), "\ § \" ))
Cela me donne la possibilité que le texte entre les délimiteurs puisse aussi contenir des phrases ou des blancs
Re: désagréger une chaîne de texte dans une table de donnéesJetez un coup d'œil à Cols> Utilitaires> Texte en colonnes
Re: désagréger une chaîne de texte dans une table de donnéesCela peut être géré facilement en utilisant la fonction Word ().
Aide ==> Index de script ==> Word
Voici un script simple qui illustre son fonctionnement ..... Notez le "-1" dans la deuxième utilisation de Word, indiquant de commencer à la fin de la chaîne
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "First", character, formula( Word( 1, :yourstringcolumn, ":" ) ) );
dt << New Column( "Last", character, formula( Word( -1, :yourstringcolumn, ":" ) ) );