Méthode substring

ultrarich2001 -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'aimerais enregistrer dans ma base ceci
"12AF" donnera dans la base "AF"
"2S" ......................................."S"
"21C"....................................."C"
j'utlise la methode substring mais cela ne marche pour tous
merci d'avance

3 réponses

Zep3k!GnO Messages postés 2049 Statut Membre 200
 
en gros, tu veux supprimer tous les chiffres en début de string jusqu'à ce que tu tombes sur une lettre c'est ça ?
Si oui, fais une expression régulière et utilise preg_replace() : http://www.php.net/manual/fr/function.preg-replace.php
0
ultrarich2001 Messages postés 72 Statut Membre
 
oui c'est bien cela juste enregistre le lettre dans ma base
0
ultrarich2001 Messages postés 72 Statut Membre
 
je suis entrain de developper avec java
0
ultrarich2001 Messages postés 72 Statut Membre
 
merci pour ta reponse
0
ultrarich2001 Messages postés 72 Statut Membre
 
je suis encore loin du compte tu as d'autres suggestions
0
Zep3k!GnO Messages postés 2049 Statut Membre 200
 
Je ne connais pas bien le Java, mais en 1 seconde sur google ("java regexp") : http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html ...
0
Elsyfiryos Messages postés 90 Statut Membre 11
 
Salut,

je le mets pas dans une boucle mais voila le concept :)

$str1 = "12AF";
$str2 = "2S";
$str3 = "21C";

$str1 = preg_replace ("([0-9].*?)", "", $str1) ;
$str2 = preg_replace ("([0-9].*?)", "", $str2) ;
$str3 = preg_replace ("([0-9].*?)", "", $str3) ;


Cela supprime tous les chiffres des chaines de caractères souhaitées.
0
ultrarich2001 Messages postés 72 Statut Membre
 
je develope sous java et les string
$str1 = "12AF";
$str2 = "2S";
$str3 = "21C";
sont sur des boutons d'un calendrier ,k'en pense tu ?
0
ultrarich2001 Messages postés 72 Statut Membre
 
merci pour ta reponse
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Pour reprendre l'idée des expressions régulières, voici un exemple qui supprime tous les chiffres de la chaîne de caractères :

String str = "123ABC456";
String res = str.replaceAll("[0-9]", "");
System.out.println(res);

Au niveau performance, si dans tous les cas les chiffres sont avant les lettres, il serait préférable de faire comme ceci (il y aura un seul remplacement au lieu d'un par chiffre) :

String str = "123ABC";
String res = str.replaceFirst("[0-9]*", "");
System.out.println(res);
0
ultrarich2001 Messages postés 72 Statut Membre
 
Brs KX ca fait un moment merci pour ta reponse .En clair si je l'applique sur n'importe kel bouton de mon calendrier ca va marche?
si oui alors dis je veux verifier k'une valeur est deja dans ma base de donnee avant den inserer le meme ou un autre pour eviter des doublons par exemple
que lundi ne prenne pas deux fois la valeur matin ,cela doit etre matin ou soir je suis presque a la fin de mon agenda .merci pour la reponse
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Je ne me souviens plus trop du format de ton calendrier (je vois un certain nombre de posts sur le forum), mais la première solution va retirer tous les chiffres de la chaîne, et la deuxième supprimer le premier nombre, ce qui pourrait revenir au même et correspondre à tous tes boutons selon leur format.

Au niveau des doublons, je ne m'y connais pas trop en bases de données, mais je pense que tu peux directement faire une requête qui évite les doublons (et ce sera plus rapide que de le refaire en Java)
0
ultrarich2001 Messages postés 72 Statut Membre
 
je prefere le premier ki retire tous les chiffres ;pour la bd une requete serait mieux en sql c'est bien cela du genre une comparaison ou equals ?
0
ultrarich2001 Messages postés 72 Statut Membre
 
une derniere info comment pourrais je afficher ma page avec son calendrier comme une page web ? peut etre a partir d'un server local en un keski me fo comme astuce ou proceder pour reussir ?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Au niveau des doublons SQL, regarde ici pour te faire une idée. Dans ton cas, la date pourrait servir d'identifiant unique...

Pour afficher ton calendrier comme une page web, ça dépend du contexte, si tu es déjà dans un contexte web (servlets, JSP...) c'est direct, sinon tu génére un fichier HTML avec le contenu, et tu l'ouvres avec Desktop.Open
0