Comment utiliser la fonction Words pour extraire uniquement des éléments spécifiques d'une chaîneSupposons que j'ai une chaîne de caractères avec un délimiteur commun sous la forme bal1_bla2_blbla3_blabla4
Et je voudrais créer une nouvelle colonne qui contient uniquement "blbla3_blabla4", comment puis-je appliquer la fonction de mots pour cela ?
Analyse et modélisation de données de baseRe: Comment utiliser la fonction Mots pour extraire uniquement des éléments spécifiques d'une chaîneSalut,
une solution dans l'interface utilisateur serait d'utiliser Recode pour atteindre votre objectif.
Faites un clic droit sur l'en-tête de votre colonne -> Recoder -> faites un clic droit sur le triangle rouge sous la nouvelle valeur -> Avancé -> extraire le segment

Vous pouvez trouver le code JSL dans le journal et il utilise le mot fonction :
/*:
// Recode column: Column 1 2
Local( {dt, col1},
dt = Data Table( "Test table" );
dt << Begin Data Update;
col1 = dt << New Column( dt:Column 1 );
col1 << Set Name( "Column 1 2" );
dt << Move Selected Columns( {col1}, after( dt:Column 1 ) );
For Each Row(
dt,
col1[] = Word(
[3 4],
dt:Column 1,
Get Whitespace Characters() ||
Get Punctuation Characters( Exclude Chars( "'-" ) ) || "_",
Unmatched( dt:Column 1 )
)
);
dt << End Data Update;
J'espère que cela aide.
Jonas
Re: Comment utiliser la fonction Mots pour extraire uniquement des éléments spécifiques d'une chaîneSi vous voulez deux derniers éléments, vous pouvez utiliser Word avec une indexation négative (ou positive si vous connaissez les emplacements exacts depuis le début de la chaîne)
Names Default To Here(1);
str = "bal1_bla2_blbla3_blabla4";
res = Word([-2 -1], str, "_");
Show(res); // res = "blbla3_blabla4";