Suppression de la fin d'une chaîne de longueur variableBonjour à tous,
J'ai une colonne: Protocole qui contient des chaînes de longueur variable au format Caractère, Nominal. J'ai ajouté quelques exemples ci-dessous. J'essaie de supprimer les 4 derniers caractères de la chaîne de la colonne et de conserver tout le reste. Les 4 derniers caractères sont toujours l'un des suivants: -001, -002, -003 ou -004. J'ai essayé d'accomplir cela en utilisant Word () et Substr () mais je ne parviens pas à le faire fonctionner:
Protocole
AAA-BB-1234-19 -001
AAAA-B-18 -002
AA-BBB-123-18- 003
AA-B-CC-1001-19- 002
Voici à quoi je veux que la colonne ressemble pour ces 4 lignes:
Protocole
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
J'ai essayé d'accomplir cela en utilisant les fonctions Word () comme suit:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
ScriptingRe: Suppression de la fin d'une chaîne de longueur variableQuelque chose comme Left (: Protocol, Length (: Protocol) - 4)Re: Suppression de la fin d'une chaîne de longueur variableje suis d'accord avec @David_Burnham , vous pouvez obtenir des résultats en utilisant directement left, si vous voulez vraiment utiliser word, vous pouvez peut-être vous référer à celui-ci ci-dessous (j'ai également joint le tableau de données en pièce jointe):
Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
new_col = dt << New Column( "Trimmed Protocol",
character,
formula( Word( [1 -2], :Protocol, "-" ) )
);
Re: Suppression de la fin d'une chaîne de longueur variableJ'ai aussi pensé à utiliser la fonction Left (). Voici ma prise:
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
Je vous recommande de sélectionner Aide> Index de script et de sélectionner Fonctions> Caractère. Il existe de nombreux supports intégrés pour la manipulation des chaînes de caractères.