[Regexp] remplacement caractere "*" & "\\" & "?"
Bonjour,
Mon application plante dés que j'essais de remplacer ces caractères "*\?", pourtant je dois bien les filtrer car sous windows il est impossible de créer un repertoire avec ces caractères :(
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
if(!requete.getText().equals("")){
//création de l'arborescence
path = zepath.getText();//+"/"+requete.getText(); //gestion de l'arborescence
File fb = new File(path);
fb.mkdirs();
requete4nomdossier = requete.getText();
requete4nomdossier=requete4nomdossier.replaceAll(":","_");
//requete4nomdossier=requete4nomdossier.replaceAll("\\","");
requete4nomdossier=requete4nomdossier.replaceAll("<"," ");
requete4nomdossier=requete4nomdossier.replaceAll(">"," ");
requete4nomdossier=requete4nomdossier.replaceAll("|"," ");
//requete4nomdossier=requete4nomdossier.replaceAll("?"," ");
requete4nomdossier=requete4nomdossier.replaceAll("/"," ");
//requete4nomdossier=requete4nomdossier.replaceAll("*"," ");
path = zepath.getText()+"/"+requete4nomdossier; //gestion de l'arborescence
File fb2 = new File(path);
fb2.mkdirs(); |
j'ai le message
Citation:
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
at ihm.initrecherche(ihm.java:749)
at ihm$1.actionPerformed(ihm.java:208)
at javax.swing.JTextField.fireActionPerformed(Unknown Source)
at javax.swing.JTextField.postActionEvent(Unknown Source)
at javax.swing.JTextField$NotifyAction.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
qui s'affiche, quelque soit ma requête :(
Si quelqun a une idée ...