Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
781 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  verifier le 1er char d'une chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

verifier le 1er char d'une chaine

n°385958
djobidjoba
Posté le 07-05-2003 à 14:32:15  profilanswer
 

bonjour, je voudrais verifier la presence du char "*" dans un chaine en perl.
Pour l'instant je fait :
if (substr($d,0,1) eq "*" ) {$statut=1;}else{$statut=0;}
Non seulement ca ne marche pas mais le résultat semble aléatoire :/
y'as pas un truc simple genre $d[0] =/eq/== '*'/"*"
a l'aide !  

mood
Publicité
Posté le 07-05-2003 à 14:32:15  profilanswer
 

n°385974
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-05-2003 à 14:40:27  profilanswer
 

Si ça:
$taChaine =~ /^*/

n°385975
Aricoh
gentil mais fo po pousser
Posté le 07-05-2003 à 14:40:31  profilanswer
 

Et est-ce que ça, ça marche ?
 

Code :
  1. use strict;
  2. my $statut =0;
  3. my $chaine = '*efoinsdoifnsdoinfosndf';
  4. if ($chaine =~ /^\*.*/) {
  5.     $statut = 1;
  6. }


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°385976
Aricoh
gentil mais fo po pousser
Posté le 07-05-2003 à 14:41:03  profilanswer
 

grillé de 4 secondes !!!
 
mais j'ai une excuse, j'avais + de trucs à taper !  :D


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°385986
djobidjoba
Posté le 07-05-2003 à 14:47:06  profilanswer
 

merci ca rool
dans la foulé :  
- sans tapé 150 lignes de codes comment je recupere la chaine - le '*' ?
- c quoi strict  :sweat:

n°385996
Aricoh
gentil mais fo po pousser
Posté le 07-05-2003 à 14:51:17  profilanswer
 

DjobiDjoba a écrit :


- sans tapé 150 lignes de codes comment je recupere la chaine - le '*' ?


fais comme ceci :

Code :
  1. ... ...
  2. if ($chaine =~ /^\*(.*)$/) {
  3.    $statut = 1;
  4.    $chaine_a_recuperer = $1;
  5. }


 
 

DjobiDjoba a écrit :


- c quoi strict  :sweat:  

strict.pm est un module qui permet de programmer + propre. Car en Perl, c'est vite fait de faire bugger un prog juste pour une malheureuse faute de frappe. Exemple, tu bosses avec une variable $toto et puis à un moment, tu tapes $totto, "use strict;" t'oblige à déclarer tes variables. En déclarant $toto en faisant "my $toto;", tu te feras jeter à la compilation si tu utilises une variable n'existant pas.


Message édité par Aricoh le 07-05-2003 à 14:53:05

---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
n°386007
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-05-2003 à 14:54:31  profilanswer
 

alors
( $ce_que_tu_veux_recuperer)  = ( $taChaine =~ /^\*(.*)/s );
 
et strict c'est pour pas coder comme un cochon ...
 
ps pour aricoh: moi j'ai oublié le \, je prends 10 secs de penalités :)
ps 2: la revanche de 3min 14 secondes ( ouais je faisais autre chose en meme temps)


Message édité par anapajari le 07-05-2003 à 15:00:18
n°386029
djobidjoba
Posté le 07-05-2003 à 15:02:38  profilanswer
 

merci pour vos réponses !


Message édité par djobidjoba le 07-05-2003 à 15:02:49
n°386101
djobidjoba
Posté le 07-05-2003 à 15:39:48  profilanswer
 

héhé me r'voila :)
 
un vieux truc zarbi  
 
comme ca :  
 

Code :
  1. $d =~ tr/a-z/A-Z/;
  2. $statut =0;
  3. if ($d =~ /^\*(.*)/) {
  4. $statut = 1;
  5. $d=$1;
  6. }


ca fait un truc zarb : l'*' est bien enlevé mais le statut n'est pas mise a jour
 
par contre comme ca :  
 

Code :
  1. $d =~ tr/a-z/A-Z/;
  2. $statut =0;
  3. $dd=$d;
  4. if ($d =~ /^\*(.*)/) {
  5. $statut = 1;
  6. $dd=$1;
  7. }


 
là ca marche  :sweat:
y'aurais un histoire de pointeur la d'sous que ca m'etonnerais pas !
j'vais m'renseigner sur l'utilisation de "use strict" je crois ...


Message édité par djobidjoba le 07-05-2003 à 15:43:06
n°386108
Aricoh
gentil mais fo po pousser
Posté le 07-05-2003 à 15:42:47  profilanswer
 

:??: voilà un truc que je ne m'explique pas
 
pourtant, le test du if est VRAI, il devrait donc passer à 1 le contenu de ton $statut, je capte pas
 
Edit : dans le bout de code que tu donnes, y a aucun pointeur. Soit tu nous a donné qu'un bout et l'erreur se trouve ailleurs, soit ... ben je sais pas  :heink:


Message édité par Aricoh le 07-05-2003 à 15:43:50

---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
mood
Publicité
Posté le 07-05-2003 à 15:42:47  profilanswer
 

n°386210
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-05-2003 à 16:36:56  profilanswer
 

j'ai testé ça marche très bien le code Aricoh ... quand tu prints $status il te sort quoi? 0 ou un truc bizarre? $d est-il sur plusieurs lignes?
Aaahh et note bien que si tu as pas d'étoile au début de ta chaine tu ne vas rien récuperer et du coup $statut vaudra toujours 0 ....
 
J'en profite d'ailleurs pour dire :

Code :
  1. plutot que
  2. $d =~ tr/a-z/A-Z/;
  3. je te conseille
  4. $d = uc($d);
  5. mais c'est une question de gout


 
edit: Capello Rulez


Message édité par anapajari le 07-05-2003 à 16:40:36

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  verifier le 1er char d'une chaine

 

Sujets relatifs
Recherche d'un mot dans une chaine de caractere ?conversion d'une chaine de caractere en nombre
SQL sous VBA : comparaison entre 1 chaîne et 1 valeur numériqueAjouter une chaine au début d'un fichier
vérifier la validité d'un lienEnlever le premier caractère d'une chaine??
Comment verifier qu'une variable n'est pas un nombre ? (JavaScript)SendKeys : quelle chaine de caractère pour touche "Windows"
Compraison de chaine de caractère[BAT] Concaténer une chaine dans un for
Plus de sujets relatifs à : verifier le 1er char d'une chaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR