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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 138
    Points : 53
    Points
    53
    Par défaut Récupérer une sous-chaîne à partir d'une chaîne commençant et se terminant par une chaîne spécifique
    Bonjour,

    Je cherche une fonction Java qui permet de récupérer une sous-chaîne à partir d'une chaîne commençant et se terminant par une chaîne spécifique.
    Par exemple, à partir de cette variable :
    String = "<abc>xxxx<xyz>123456789</xyz></abc>"
    Je veux récupérer la sous-chaîne commençant par <xyz> et se terminant par </xyz>
    ce qui doit donner comme résultat :
    "<xyz>123456789</xyz>".

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Dit comme ça, c'est l'application typique des regex.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // regex <xyz> suivi de n'importe quoi jusqu'à trouver </xyz>.
    // Le ? est nécessaire pour qu'en cas de plusieurs </xyz> on s'arrête au premier au lieu de le compter dans le .*
    Pattern pattern = Pattern.compile("<xyz>.*?</xyz>");
     
    Matcher matcher = pattern.matcher(maString);
    if(matcher.find()) {
      String sousString = matcher.group();
      System.out.println(sousString);
    } else {
      System.out.println("String non trouvée");
    }
    Mais si vraiment tu cherches à faire ça sur des balises style XML, un parseur XML sera vite bien plus réaliste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 138
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Mais si vraiment tu cherches à faire ça sur des balises style XML, un parseur XML sera vite bien plus réaliste.
    Merci thelvin, effectivement je cherche à le faire sur une entrée en xml (récupéré d'une requête soapui via groovy) que j'ai converti en string pour pouvoir la manipuler, car je n'ai pas trouvé un autre moyen pour récupérer l'entrée XML.

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

Discussions similaires

  1. Récupérer une sous chaine à partir d'un mot
    Par tizi15 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 09/05/2011, 15h45
  2. [RegEx] chaine ne commencant pas par une sous-chaîne
    Par Darkolive dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2008, 09h05
  3. Réponses: 1
    Dernier message: 06/08/2007, 10h39
  4. Extraction d'une sous-chaine à partir d'une chaine principale
    Par gazere dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 13/06/2007, 04h08
  5. Réponses: 3
    Dernier message: 17/04/2007, 15h58

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