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

Java Discussion :

Analyseur de chaîne de caractères


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2012
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 70
    Points : 67
    Points
    67
    Par défaut Analyseur de chaîne de caractères
    Bonjour,

    J'essaye depuis un moment de extraire la chaine qui est entre X'...';X'...' mais je parvient pas a le faire
    Voila comment j'ai procédé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
       // la chaine a analyser
       private static final String member = "X'434e3d5374c3a97';X'434e3d4b6f7561746172'";
     
       private static final String EncryptData = "X";
       public String extractEncryptedData() {
    		if (member != null && member.contains(EncryptData)) {
    			return member.substring(member.indexOf(EncryptData)).replaceAll(EncryptData, ".").replaceAll(";", "");
    		}
    		return null;
    	}

  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
    Pour un cas aussi simple, une regex est tout à fait adaptée. (Yay, c'est moi qui dit ça ! Moi qui suis toujours le premier à dire de laisser tomber la piste de la regex \o/ !)

    Supposons que tu aies des chaînes avec trois trucs entourés de _ comme par exemple _xyz_abcd_azerty_ et que tu veuilles extraire les trois trucs entourés "xyz" et "abcd" et "azerty".

    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
    String text = "_xyz_abcd_azerty_";
     
    Pattern pattern = Pattern.compile("_([a-z]*)_([a-z]*)_([a-z]*)_");
    Matcher matcher = pattern.matcher(text);
    if(matcher.matches()) {
      String s1 = matcher.group(1);
      String s2 = matcher.group(2);
      String s3 = matcher.group(3);
     
      System.out.println(s1);
      System.out.println(s2);
      System.out.println(s3);
    } else {
      throw new IllegalArgumentException("Invalid input: " + text);
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Profil pro
    Opération
    Inscrit en
    Décembre 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opération

    Informations forums :
    Inscription : Décembre 2012
    Messages : 91
    Points : 188
    Points
    188
    Par défaut
    Quel est le résultat souhaité ?
    Que représente ';'
    X ou ' peuvent-ils être présent dans les données cryptés ? Comment les distinguer ?

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  3. Chaînes de caractères
    Par Zazeglu dans le forum C
    Réponses: 3
    Dernier message: 28/08/2003, 16h20
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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