Supprimer la fin d'une chaîne de longueur variableBonjour à tous,
J'ai une colonne :Protocol 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")
);
Modélisation statistique avancéeÉtudes de consommation et de marchéPersonnalisation de masseRe : Supprimer la fin d'une chaîne de longueur variableMerci, j'ai essayé votre solution et cela a parfaitement fonctionné.Re : Supprimer 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 des scripts et de sélectionner Fonctions > Caractère. Il y a beaucoup de support intégré pour manipuler les chaînes de caractères.
Re : Supprimer la fin d'une chaîne de longueur variableje suis d'accord avec @David_Burnham , vous pouvez obtenir des résultats en utilisant directement à gauche, si vous voulez vraiment utiliser un mot, vous pouvez peut-être vous référer à celui-ci ci-dessous (j'ai également joint un 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 : Supprimer la fin d'une chaîne de longueur variableQuelque chose comme Left(:Protocol, Length(:Protocol) - 4)Re : Supprimer la fin d'une chaîne de longueur variable// J'ai eu un problème similaire en supprimant le nom du fichier du chemin du fichier
Les noms par défaut sont ici (1) ;
dt = Tableau de données actuel();
current_file = dt << Obtenir le chemin();
current_directory = Word([1 -2], current_file, "\");
// renvoie la chaîne complète ([1 -1]), à l'exception du dernier mot ([1 -2])
données = Choisir un fichier(
« Sélectionner les fichiers de données »,
répertoire_courant,
{"Excel|csv","Fichiers JMP|jmp;jsl;jrn","Tous les fichiers|*"},
1,
0,
"", multiple
);