Comment mettre des caractères entre parenthèses dans une chaîne ??Salut tout le monde,
J'ai une chaîne comme ci-dessous " [CDO600705010] [S 88ABCV AB IT] [C23204348IT] "
Savez-vous comment obtenir des caractères entre crochets ouvrant et fermant
Par exemple:
CDO600705010
S 88ABCV AB IT
C23204348IT
Sincèrement
Modélisation statistique avancéeÉtudes de consommation et de marchéAccès aux donnéesRe : Comment mettre les caractères entre parenthèses dans une chaîne ??J'opterais certainement pour Word() ou Words() avec celui-ci, mais il y a un Modèle de caractère truc dans JMP. C'est assez difficile à apprendre et son utilisation peut être un peu limitée par rapport à des méthodes plus simples (je n'ai pas pris la peine de l'apprendre). Script modifié à partir d'un script trouvé depuis Re : Extraire le texte d'une chaîne (le message contient également une explication de la correspondance)
Names Default To Here(1);
// see https://community.jmp.com/t5/Discussions/Extract-text-from-string/td-p/450420
txt = " [CDO600705010] [S 88ABCV A B IT] [C23204348IT] ";
sp = Pat Span("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ");
found_list = {};
Pat Match(
txt,
"[" + sp >> match + ("]") + Pat Test(
Insert Into(found_list, match);
0;
)
);
show(found_list);
// found_list = {"CDO600705010", "S 88ABCV A B IT", "C23204348IT"};
Mais la correspondance entre plusieurs parenthèses pourrait être un endroit où je pourrais me voir utiliser des modèles de caractères.
Voir également Guide de script > Types de données > Correspondance de modèles
Re : Comment mettre les caractères entre parenthèses dans une chaîne ??Mot() est la fonction que tout utilisateur de JMP devrait connaître.
Si vous n'apprenez qu'une seule fonction de l'éditeur de formule, Word() est celle-là.
Re : Comment mettre les caractères entre parenthèses dans une chaîne ??J'aime @txnelson l'approche. Je l'utilise souvent. Les fonctions de personnages sont pratiques !
Voici une autre approche utilisant plutôt Regex(). Ce n'est pas une solution. C'est une illustration de la façon dont vous pouvez analyser chaque chaîne. Je montre deux modèles de recherche, mais d'autres modèles sont possibles. Je me demande quelle méthode est la plus rapide, car cela pourrait être une considération avec de nombreuses chaînes.
Names Default to Here( 1 );
string = { "[CDO600705010]", "[S 88ABCV A B IT]", "[C23204348IT]" };
n = N Items( string );
For( s = 1, s <= n, s++,
Show(
Regex( string[s], "([\w\d\s]+)", "\1" );
);
);
For( s = 1, s <= n, s++,
Show(
Regex( string[s], "[^\-[\]]+" );
);
);
Re : Comment mettre les caractères entre parenthèses dans une chaîne ??Incroyable! J'apprécie, ça marche comme un miracle
Re : Comment mettre les caractères entre parenthèses dans une chaîne ??s=" [CDO600705010] [S 88ABCV A B IT] [C23204348IT] ";
one = word(2,s,"[]");
show(one);
/*:
one = "CDO600705010";