Supprimer le caractère de la chaîne dans une position spécifiqueBonjour,
Je cherche à créer un script pour supprimer un caractère d'une chaîne tout en ignorant le même caractère plus tôt dans la chaîne.
Par exemple, à partir d'une table de données, j'ai un DateTime spécial de AA/MM/JJ/hh:mm et je souhaite supprimer le troisième / (c'est-à-dire le caractère 9).

Merci pour toute aide,
Luc
AnalytiqueTableau de donnéesScriptles fenêtresRe: Supprimer le caractère de la chaîne dans une position spécifiqueIl existe de nombreuses approches. Si les chaînes ont toujours la même longueur, etc., je pourrais utiliser une colonne de formules avec
Left( DateTime, 8 ) || "T" || Right( DateTime, 5 );
Vous voudrez peut-être un séparateur comme T qui est utilisé par l'un des formats internationaux, aaaa-mm-jjThh:mm.
S'il y a une variation, mais peut-être toujours le troisième /, je pourrais utiliser regex dans la colonne de formule
Regex( DateTime, "^(\d+/\d+/\d+)/(\d+:\d+)$", "\1T\2" );
^ et $ ancrent la correspondance au début et à la fin de la chaîne DateTime. \d+ correspond à 1 ou plusieurs chiffres. Les parenthèses forment des groupes, et les deux groupes sont référencés avec \1T\2 pour construire la valeur de résultat.
Re: Supprimer le caractère de la chaîne dans une position spécifiqueBonjour Craige, j'ai essayé cela mais je semble recevoir des erreurs lorsque j'essaie de l'utiliser :

Je comprends peut-être mal car j'essaie de créer une nouvelle colonne avec les données :

Je m'excuse également, pour une raison quelconque, je n'ai pas pu envoyer en tant que script JLS à la capture d'écran requise
Re : Supprimer le caractère de la chaîne dans une position spécifiquePeut-être juste une simple erreur avec les références de colonne.
Names Default To Here(1);
dt = New Table("Untitled 5",
Add Rows(3),
New Column("DateTime", Character, "Nominal", Set Values({"21/10/24/15:21", "21/10/24/14:21", "20/09/20/15:20"}))
);
/*
other solutions
a = "21/10/24/15:21";
//other solution with Regex
Show(Regex(a, "^(.{8})(.)(.*)$", "\1 \3"));
//using Words and Concat Items
Show(Concat Items(Words(a, "/")[1 :: 3], "/") || " " || Word(4, a, "/"));
//Using Contains to get last "/" and then Substr()
lastIdx = Contains(a, "/", -1);
Substr(a, 1, lastIdx - 1) || " " || Substr(a, lastIdx + 1);
*/
dt << New Column("Compatible DateTime", Formula(Left(:DateTime, 8)</img> || " " || Right(:DateTime, 5)));(Notez que la nouvelle colonne ne sera pas numérique continue sans quelques jsl supplémentaires)