bonjour ,
je recherche un script qui me permet de rechercher une suite de caractères qui se trouve entre 2 étoiles.
exemple : abc*def*ghij , réponse : def
comment puis-je faire ?
merci d'avance.
cordialement.
bonjour ,
je recherche un script qui me permet de rechercher une suite de caractères qui se trouve entre 2 étoiles.
exemple : abc*def*ghij , réponse : def
comment puis-je faire ?
merci d'avance.
cordialement.
salut,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 set var=abc*def*ghij for /f "tokens=2 delims=*" %%a in ("%var%") do echo %%a
ok , merci pour la réponse.
maintenant, je voudrais une fois le programme lancé, que je puisse taper une suite de caractères conprenant ses 2 étoiles, et qu'il me donne ce qu"il y a entre les deux étoiles .
merci d'avance.
à bientôt.
Salut,
Je sais que tu recherche en batch , cependant je tenais à suggérer la meme chose en powershell au cas ou car le batch c'est quand meme limité (en plus d'etre moche), puis sait-on jamais cela peu peut etre intérésser des personnes de passage (ou pas)....
voir meme dans une boucle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [string]$chaine=@("abc*def*ghij"); $chaine.split("*")[1];
Le tri peut ensuite facilement etre fait via regexp par exemple afin d'isoler certains éléments.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [string]$chaine=@("abc*def*ghij"); for($i=0;$i -le $chaine.Length;$i++){ $chaine.split("*")[$i]; }
Cordialement.
le plus simple c'est de le passer en regex :
http://txt2re.com/index-perl.php3?s=abc*def*ghij%20&4
merci pour les réponses.
mais j'ai un nouveau petit problème qui se présente. j'ai fait un petit script en batch:
comme vous pouvez le remarquer : un met un espace juste avant l'étoile. comment faire pour retirer cette espace ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @echo off set /p fich=taper le code avec les 2 etoiles : echo set fichier=%fich% > fichier.cmd for /f "tokens=2 delims=*" %%i in (fichier.cmd) do echo set caractere=%%i >> fichier.cmd for /f "tokens=3 delims=*" %%j in (fichier.cmd) do echo set ext=%%j >> fichier.cmd call fichier.cmd echo %caractere%*%ext%
merci d'avance.
cordialement.
Salut, je ne comprend pas la questionsp pourrais-tu expliquer ce que tu veux changer, ce qui cloche ?
si je tape : gfsgdf*fgsdfg*gfdsgs
en réponse , j'ai cela : fgsdfg *gfdsgs
et j'aimerais supprimer cette espace dans la réponse
Ok , donc tu peux faire comme ceci:
qui renvois alors ce que tu demande en enlevant le caractere de fin de string.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @echo off set /p fich=taper le code avec les 2 etoiles : echo set fichier=%fich% > fichier.cmd for /f "tokens=2 delims=*" %%i in (fichier.cmd) do echo set caractere=%%i >> fichier.cmd for /f "tokens=3 delims=*" %%j in (fichier.cmd) do echo set ext=%%j >> fichier.cmd call fichier.cmd Set caractere=%caractere:~0,-1% echo %caractere%*%ext%
Cordialement.
explication
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @echo off set /p fich=taper le code avec les 2 etoiles : echo set fichier=%fich%> fichier.cmd for /f "tokens=2 delims=*" %%i in (fichier.cmd) do echo set caractere=%%i>> fichier.cmd for /f "tokens=3 delims=*" %%j in (fichier.cmd) do echo set ext=%%j>> fichier.cmd call fichier.cmd Set caractere=%caractere:~0,-1% echo %caractere%*%ext%
la ligne 1 ammene un espace la 2 non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ext=%%j >> fichier.cmd ext=%%j>> fichier.cmd
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager