S'il vous plaît, aidez-moi à supprimer le caractère chariot dans JSLJ'ai un script jsl qui appelle un fichier python pour identifier un répertoire spécifique de n'importe où. Cela fonctionne bien mais le résultat a un caractère de chariot qui gâche tout.
cur_dir = Substr( Get Default Directory(), 2, 999 );
cur_dir = Substitute( cur_dir, "/", "\" );
show(cur_dir);
_path_script = cur_dir || "find_home_directory.py";
show(_path_script);
home_dir = RunProgram(
executable( "python" ),
options( _path_script),
readfunction( "text" )
);
show(home_dir);
rép_home = "C:\dtemp
" ;
N'importe qui, pouvez-vous s'il vous plaît m'aider à convertir cette chaîne pour supprimer le caractère chariot et ressembler à ceci ?
rép_home = "C:\dtemp"
Automatisation et scriptsRe : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSLVoici comment je le ferais en utilisant les caractères d'échappement standard dans JMP
names default to here(1);
cr = "\!r";
home_dir = "C:\dtemp
";
show(home_dir);
home_dir = substitute(home_dir, cr, "");
show(home_dir);
Ce qui a donné les résultats
home_dir = "C:\dtemp
";
home_dir = "C:\dtemp";
Re : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSLouais finalement ça a marché. L'astuce est la suivante :
supposons que vous ayez un fichier "example.jsl" et que vous vouliez avoir le chemin absolu. Vous devriez faire ce qui suit :
cur_dir = Substr( Get Default Directory(), 2 );
cur_dir = Convert File Path( cur_dir, Windows );
Show( cur_dir );
_path_script = cur_dir || "find_home_directory.py";
Show( _path_script );
home_dir = Run Program( executable( "python" ), options( _path_script ), readfunction( "text" ) );
Show( home_dir );
path_to_example_jsl = Substitute( home_dir, "\r", "example.jsl" );
Show( path_to_example_jsl );
Le fichier python que vous appelez est simple :
import os
def find_home_dir():
cur_dir = os.path.dirname(os.path.realpath(__file__))
while True:
if "file_which_defines_root" in os.listdir(cur_dir):
break
else:
cur_dir = os.path.dirname(cur_dir)
print(cur_dir.strip())
if __name__ == '__main__':
find_home_dir()
Re : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSLPeut être ça?
cur_dir = Substr( Get Default Directory(), 2 );
cur_dir = Convert File Path( cur_dir, Windows );
Show( cur_dir );
_path_script = cur_dir || "find_home_directory.py";
Show( _path_script );
home_dir = Run Program( executable( "python" ), options( _path_script ), readfunction( "text" ) );
Show( home_dir );
home_dir = Substitute( home_dir, "\r", "" );
Show( home_dir );
Re : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSLBien que cela fonctionne si vous exécutez ces quelques lignes individuellement.
cr = "
";
home_dir = "C:\dtemp
";
show(home_dir);
home_dir = substitute(home_dir, cr, "");
show(home_dir);
Résultat:
home_dir = "C:\dtemp
";
home_dir = "C:\dtemp";
Re : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSLj'ai essayé avec "(\r)" comme recherche RegEx mais toujours le même problème.
cur_dir = Substr( Get Default Directory(), 2, 999 );
cur_dir = Substitute( cur_dir, "/", "\" );
show(cur_dir);
_path_script = cur_dir || "find_home_directory.py";
show(_path_script);
home_dir = RunProgram(
executable( "python" ),
options( _path_script),
readfunction( "text" )
);
show(home_dir);
cr = Regex(home_dir,"(\r)");
home_dir = substitute(home_dir, cr, "");
show(home_dir);Résultat.
home_dir = "C:\tmp
";
home_dir = "C:\tmp
";
Ce que je veux:
home_dir = "C:\tmp"
Re : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSLcur_dir = Substr( Get Default Directory(), 2, 999 );
cur_dir = Substitute( cur_dir, "/", "\" );
show(cur_dir);
_path_script = cur_dir || "find_home_directory.py";
show(_path_script);
home_dir = RunProgram(
executable( "python" ),
options( _path_script),
readfunction( "text" )
);
show(home_dir);
cr ="
";
home_dir = substitute(home_dir, cr, "");
show(home_dir);Le résultat est toujours le même... 
home_dir = "C:\dekel_post_processing
" ;
home_dir = "C:\dekel_post_processing
" ;
Re : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSL@pmroz La solution est bonne ! Voici une référence générale à la caractères invisibles communs qui peuvent apparaître dans une chaîne de caractères. Vous pouvez utiliser la séquence d'échappement pour rechercher.
Re : S'il vous plaît, aidez-moi à supprimer le caractère de chariot dans JSLcr = "
";
home_dir = "C:\dtemp
";
home_dir = substitute(home_dir, cr, "");