remplacer * par % dans un String? [JAVA] - Java - Programmation
Marsh Posté le 02-05-2005 à 12:35:54
javadoc : http://java.sun.com/j2se/1.5.0/docs/api/
Citation : |
Marsh Posté le 02-05-2005 à 14:18:19
Bon j'ai trouvé (je suis fatigué aujourd'hui )
C'était pas difficile mais le lundi c'est dur:
s=s.replaceAll("\\*","%" );
Marsh Posté le 02-05-2005 à 14:20:42
alerim te proposait ci-dessus une solution plus simple :
Code :
|
Nicolas
Marsh Posté le 03-05-2005 à 15:45:54
Nicolas_75 a écrit : alerim te proposait ci-dessus une solution plus simple :
|
Ah oui en effet! Merci
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 ?
Marsh Posté le 03-05-2005 à 16:14:31
ReplyMarsh Posté le 03-05-2005 à 16:58:57
tu fais un vrai parsing t'as pas le choix.
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)
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.
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.
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
Marsh Posté le 09-05-2005 à 12:22:31
nraynaud a écrit : j'ai comme l'impression que tu vas faire une grave erreur. |
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
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