IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

expression régulière : supprimer un mot et tous ce qui le suit


Sujet :

Collection et Stream Java

  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut expression régulière : supprimer un mot et tous ce qui le suit
    bonjour,
    comment supprimer un mot et tous ce qui le suit avec les expressions régulières.
    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
     
    public class Test 
    {
    public Test(){};
    public static void main(String[] args) 
    {
    	Pattern p1 = Pattern.compile("trouver");
    	Matcher m1 = p1.matcher("trouver le bon chemin?!!!");
    	String s1 = m1.replaceAll("...");
    	System.out.println(s1);
    }
    }
    comment je peut supprimer le mot trouver et tous ce qui le suit quelque soit le type du caractère.
    merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    Bonsoir mehdiing

    Que veux tu dires par...
    supprimer le mot trouver et tous ce qui le suit quelque soit le type du caractère
    Tu peux toujours couper une chaine avec split ou index et substring

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
     
    public class Test 
    {
    	public Test(){};
    	public static void main(String[] args) 
    	{
    		String s="Je veux trOUVer le bonheur";
    		String mot="trouver";
     
    		/*
    		 * Pour remplacer "trouver" par "connaître"
    		 */
    		Pattern p1 = Pattern.compile(mot,Pattern.CASE_INSENSITIVE);
    		Matcher m1 = p1.matcher(s);
    		String s1 = m1.replaceAll("connaître");
    		System.out.println(s1);
     
    		/*
    		 * Pour extraire le début jusqu'à la 1ere correspondance
    		 */
    		String spl[]=s.split("(?i)"+mot);
    		System.out.println("***"+spl[0]+"***");
    	}
    }
    Tutoriel sur les regex...http://cyberzoide.developpez.com/java/regex/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 35
    Points
    35
    Par défaut
    Je n'ai pas de JDK sous la main mais tu dois pouvoir faire tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
     
    public class Test 
    {
      public Test(){};
     
      public static void main(String[] args) {
    	Pattern p1 = Pattern.compile("trouver.*");
    	Matcher m1 = p1.matcher("trouver le bon chemin?!!!");
    	String s1 = m1.replaceAll("...");
    	System.out.println(s1);
      }
    }
    .* pour dire "tous les caractères" (enfin presque mais passons, tu devrais avoir ce que tu veux)

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    Bonjour,
    merci pour vos réponses j'ai testé ceci est ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Pattern.compile("(?i)trouver(\\W|\\D|\\S)");
    Matcher m1 = p1.matcher("trouver le bon chemin?!!!");
    String s1 = m1.replaceAll("...");
    ce que je veux maintenant c'est comment exclure un caractère de la suppression par exemple je veux supprimer tous les caractères sauf le caractère "a".
    merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/04/2012, 17h09
  2. Expression Régulière séparation de mots majuscule
    Par orfaon dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2010, 14h49
  3. Expression régulière, supprimer caractères non numérique
    Par Scinza38 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 22/11/2009, 11h19
  4. Réponses: 15
    Dernier message: 17/10/2006, 12h06
  5. Réponses: 4
    Dernier message: 24/08/2005, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo