[JAVA] remplacer * par % dans un String?

remplacer * par % dans un String? [JAVA] - Java - Programmation

Marsh Posté le 02-05-2005 à 12:18:57    

Bon voilà, j'ai une chaine de caractere (String) dans lequel je voudrais remplacer le caractere * par %.
le problème est que * est interprété comme toute chaine de caractere, et non pas comme un seul caractere si j'utilise
 
s=s.replaceAll("*","%" );
 
et donc ca merde!
 
Une idée pour faire autrement?
 
Merci

Reply

Marsh Posté le 02-05-2005 à 12:18:57   

Reply

Marsh Posté le 02-05-2005 à 12:35:54    

javadoc : http://java.sun.com/j2se/1.5.0/docs/api/
 

Citation :


replace
 
public String replace(char oldChar,
                      char newChar)
 
    Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.

Reply

Marsh Posté le 02-05-2005 à 14:18:19    

Bon j'ai trouvé (je suis fatigué aujourd'hui  :sleep: )
C'était pas difficile mais le lundi c'est dur:
 
s=s.replaceAll("\\*","%" );

Reply

Marsh Posté le 02-05-2005 à 14:20:42    

alerim te proposait ci-dessus une solution plus simple :

Code :
  1. s = s.replace('*','%');


 
Nicolas


Message édité par Nicolas_75 le 02-05-2005 à 14:21:13
Reply

Marsh Posté le 03-05-2005 à 15:45:54    

Nicolas_75 a écrit :

alerim te proposait ci-dessus une solution plus simple :

Code :
  1. s = s.replace('*','%');


 
Nicolas


Ah oui en effet! Merci  :jap:

Reply

Marsh Posté le 03-05-2005 à 16:08:29    

j'ai comme l'impression que tu vas faire une grave erreur.
 
C'est pour une base de données ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 03-05-2005 à 16:14:31    

Teh LIKE statement is teh pwneth !


---------------
Loose Change Lies | Bars | Last.fm
Reply

Marsh Posté le 03-05-2005 à 16:32:13    

en même temps tu passes comment un pattern de recherche ? encore là c propre, il passe pas le motif directement...


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 03-05-2005 à 16:58:57    

tu fais un vrai parsing :/ t'as pas le choix.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 03-05-2005 à 17:14:19    

?
 
pkoi ne pas utiliser le joker % dans la BDD justement ?
 
tu veux dire que tu fetch tt les entités, et que tu parses l'attribut donné pour voir si il match ton pattern ?
 
en quoi c'est mieux (simple curiosité, moi aussi je passe le % à Oracle)


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 03-05-2005 à 17:14:19   

Reply

Marsh Posté le 03-05-2005 à 17:20:30    

parceque si un gus te passe "pouet*;select * from passwd_table where true" ben tu l'as dans le cul.
 
et comme toutes les BDD ont leurs extentions propriétaires dans la syntaxe, tu peux pas tenter de filtrer les trucs dangereux.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 03-05-2005 à 17:23:49    

ouhais je vois...mais bon, tu peux tjs filtrer tes inputs pour virer ca non ?
 
je sais pas, si t'a une table avec 3M enregistrements, tu vas pas fetcher les 3M pour parser ensuite par comparaison de String ???
 


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 03-05-2005 à 17:25:35    

non, je parle d'un parsing dans l'autre sens, tu définis une grammaire à utiliser dans le moteur de recherche pour spécifier les requeêtes.
 
tu parses la chose au caratère près et tu génères la requête SQL à la volée.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 03-05-2005 à 17:30:07    

ah oui, on est d'accord...
 
dans mon cas, c un formulaire de recherche...donc ce sont des champs...
y'a pas trop moyen de spoofer, et meme si ct possible, ca renverrait pas les résultats (je les filtre au champs près, et je renvois que ce qui m'intéresse)
 
donc on est d'accord


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 09-05-2005 à 12:22:31    

nraynaud a écrit :

j'ai comme l'impression que tu vas faire une grave erreur.
 
C'est pour une base de données ?


 
Oui, c'est juste pour interroger une petite BDD sous Access.
La personne cherche des identifiants clients, et va mettre J12* pour trouver toutes les occurences de numéro clien commençant donc par J12

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed