Peut-on implémenter cette substitution avec une opération avec une expression régulière ?Par exemple, ce fichier est un fichier txt. Espacement TAB :
La colonne 2 contient, la colonne 2 contient
Le nombre maximum de lignes est de 5
Pouvez-vous utiliser une substitution régulière pour remplacer des lignes contenant moins de 5 symboles de ce type afin de compléter la cellule avec un total de 5 symboles similaires ?
Maquillage comme indiqué sur la figure.

Merci les experts !
Automatisation et scriptsFenêtresRe : Peut-on implémenter cette substitution avec une opération régulière ?Bien entendu, pour faciliter la manipulation, le contenu de la colonne 1 peut également être ajouté selon cette règle.
Re : Peut-on implémenter cette substitution avec une opération régulière ?Je ne suis pas vraiment sûr de ce que nous essayons de mettre en œuvre ici en fonction de votre texte et de l'exemple fourni. Pourriez-vous développer un peu ce point ?
Re : Peut-on implémenter cette substitution avec une opération régulière ?A B C
00001 744811604804487748 1
00002 744811604411447740~744811607410407768 1▲1
00003 744811607000017746~744811607407400440~744811607611467718~744811600601460016 1▲1▲1▲1
00004 744811606810447747 1
00005 744811606400167710~744811606610607767~744811608807400040~744811401407170047 1▲1▲1▲1
00006 744811607006017776~744811606014617747~744811600606400074 1▲1▲1
00007 744811607114067714~744811607406147747~744811607704147760~744811607710174146~744811600014600011 1▲1▲1▲1▲1
00008 744811604810187746~744811606706407717~744811606607400107 1▲1▲1
00009 744811608814480014~744811608704464148~744811401101140018~744811401607480040~744811401714140017 1▲1▲1▲1▲1
00010 744811606607177767~744811606707470064~744811608610440011~711741608004176007~744811401606180041~744811401704470014 1▲1▲1▲1▲1▲1
00011 744811607401167716~744811607408417748~711047607710460644~744811607711077714 1▲1▲1▲1
00012 460144607710400044~744811607711077716~744811400601440046~744811401104410044 1▲1▲1▲1
00013 744811607814617747~410144608807046447~744811608110140017~744811400807170010 1▲1▲1▲1
00014 744811607807117717~744811607806117747~744811608610400060~744811608804087740~744811400806070014 1▲1▲1▲1▲1

Re : Peut-on implémenter cette substitution avec une opération régulière ?Essayons-nous d’ajouter plus de ▲ à la fin de la dernière colonne s’il y en a moins de cinq ?
Re : Peut-on implémenter cette substitution avec une opération régulière ?Oui, bien sûr, la colonne 2 est traitée selon les mêmes règles.
Pour plus de commodité, vous pouvez d'abord remplacer ~ par ▲
Merci!
txt="……";
tx=Substitute(txt,"~","▲");ccoyy<BR />
Re : Peut-on implémenter cette substitution avec une opération régulière ?S'obliger à utiliser des expressions régulières est à mon avis une mauvaise idée. Dans ce cas, vous pourriez par exemple faire une boucle ligne par ligne, remplacer ~ et les triangles par "" sur les colonnes deux et trois, vérifier combien ont été remplacés et ensuite les ajouter à la fin des "colonnes" correctes.
Re : Peut-on implémenter cette substitution avec une opération régulière ?Il semble que la façon dont Python gère les tableaux de mémoire soit flexible et simple

Re : Peut-on implémenter cette substitution avec une opération régulière ?Y a-t-il une raison pour laquelle vous ne pourriez pas faire exactement (ou presque) la même chose en JSL ?
Re : Peut-on implémenter cette substitution avec une opération régulière ?Re : Peut-on implémenter cette substitution avec une opération régulière ?Names Default To Here(1);
str = "\[A B C
00001 744811604804487748 1
00002 744811604411447740~744811607410407768 1▲1
00003 744811607000017746~744811607407400440~744811607611467718~744811600601460016 1▲1▲1▲1
00004 744811606810447747 1
00005 744811606400167710~744811606610607767~744811608807400040~744811401407170047 1▲1▲1▲1
00006 744811607006017776~744811606014617747~744811600606400074 1▲1▲1
00007 744811607114067714~744811607406147747~744811607704147760~744811607710174146~744811600014600011 1▲1▲1▲1▲1
00008 744811604810187746~744811606706407717~744811606607400107 1▲1▲1
00009 744811608814480014~744811608704464148~744811401101140018~744811401607480040~744811401714140017 1▲1▲1▲1▲1
00010 744811606607177767~744811606707470064~744811608610440011~711741608004176007~744811401606180041~744811401704470014 1▲1▲1▲1▲1▲1
00011 744811607401167716~744811607408417748~711047607710460644~744811607711077714 1▲1▲1▲1
00012 460144607710400044~744811607711077716~744811400601440046~744811401104410044 1▲1▲1▲1
00013 744811607814617747~410144608807046447~744811608110140017~744811400807170010 1▲1▲1▲1
00014 744811607807117717~744811607806117747~744811608610400060~744811608804087740~744811400806070014 1▲1▲1▲1▲1
]\";
lines = Words(str, "\!N");
header = Remove From(lines, 1); // skip header
maxchar = 5;
res = Transform Each({line}, lines,
row = Words(line, "\!t");
char_to_add = maxchar - (Length(row[2]) - Length(Substitute(row[2], "~", "")));
item1 = row[1];
item2 = row[2] || Repeat("~", char_to_add);
item3 = row[3] || Repeat("▲", char_to_add);
new_line = Eval Insert("^item1^\!t^item2^\!t^item3^");
);
Insert Into(res, header, 1);
dt = Open(Char to blob(Concat items(res, "\!N")), "text");

L'index de script et le guide de script devraient couvrir tout ce dont vous avez besoin pour faire quelque chose comme cela (en dehors de la dernière ligne).
Re : Peut-on implémenter cette substitution avec une opération régulière ?Merci les experts !
les pythons
for i in range(4, len(columns)):
col = columns[i]Re : Peut-on implémenter cette substitution avec une opération régulière ?Utiliser For Each() et Index() en JSL
Modifier:
Ou utilisez simplement la boucle For normale, démarrez simplement la boucle à partir de 4 et rendez-la non exclusive à la longueur
Re : Peut-on implémenter cette substitution avec une opération régulière ?Merci les experts !
Transposé est équivalent.