fonction regex pour faire correspondre lettre et lettre avec un numérique qui n'a pas d'espace entre euxBonjour à tous,
J'ai une chaîne "9 035 Assay Activity Testing For Characterization STD4 1 1". et je veux uniquement correspondre à "Test d'activité d'essai pour la caractérisation STD4"
J'ai essayé d'utiliser : Regex( :Sample Name, "\d", "", GLOBALREPLACE ); mais il a laissé tomber le numéro sur le STD, une suggestion ?
Merci
Re : fonction regex pour faire correspondre lettre et lettre avec un chiffre qui n'a pas d'espace entre lesMerci beaucoup pour l'aide et l'explication des règles d'aide. et je me rends compte que je dois couper chaque numéro autonome, et le travail suivant fonctionne parfaitement.
"(\D+(\w+\w))+"
Re : fonction regex pour faire correspondre lettre et lettre avec un chiffre qui n'a pas d'espace entre lesL'exemple de Justin est peut-être parfait, mais sans connaître la règle que vous utilisez, il est difficile de le dire. La règle peut être de supprimer tous les premiers chiffres et espaces, ou de commencer par "Assay". Et à l'autre extrémité, la règle pourrait être de supprimer deux nombres finaux délimités par des espaces, ou tous sauf le dernier chiffre ou tout après le dernier chiffre connecté à un mot. Et ce ne sont là que quelques règles possibles. Une fois que vous connaissez la règle, faire en sorte qu'une regex la suive devient plus facile.
Si vous vous interrogez sur l'exemple de Justin, lisez-le comme ceci :
( ... )+ signifie correspondre à ce qui est à l'intérieur des parenthèses une ou plusieurs fois
[az]+ signifie correspondre à une ou plusieurs lettres
\ré?signifie correspondre à un ou zéro chiffre
\s signifie correspondre à un espace
Chaque « mot » mis en correspondance par les parenthèses comprend un chiffre de fin facultatif et un espace de fin obligatoire, même le dernier mot. Justin a utilisé la fonction trim pour supprimer l'espace final du résultat. Si vos données ne comportent pas d'espace après le dernier mot, le dernier mot ne sera pas inclus.
Re : fonction regex pour faire correspondre lettre et lettre avec un chiffre qui n'a pas d'espace entre lesAu lieu de faire un remplacement global, vous pouvez obtenir une correspondance pour la partie de la chaîne que vous souhaitez conserver.
Cette RegEx fonctionne pour la chaîne que vous avez donnée, mais peut ne pas fonctionner si le format des autres chaînes est trop différent.
Trim(
Regex(
"9 035 Assay Activity Testing For Characterization STD4 1 1",
"([a-z]+\d?\s)+",
"\0",
IGNORECASE
)
);
Enregistrer:
"Assay Activity Testing For Characterization STD4"