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

avec Java Discussion :

Récupérer une sous-chaine selon une longueur définie


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 37
    Points : 33
    Points
    33
    Par défaut Récupérer une sous-chaine selon une longueur définie
    Bonjour,

    voici mon problème : 2 chaines de caractères

    String a = "azertyuiop"

    String b = "qsfsertdfdg"

    Je dois signaler par un true/false ou retourner null ou ert (peu importe) lorsque que la variable "b" a 3 caractères consécutif en commun avec la variable "a". Idéalement il faut ignorer aussi la casse. (sinon je ferais le nécessaire pour tout mettre en minuscule)

    donc il n'y a pas de contrainte d'emplacement. La série de lettre peut se trouver n'importe où, début, milieu et fin.

    Les seuls paramètres que j'ai c'est la variable A, B et le nombre de caractère consécutif.

    J'ai regardé regionMatches mais visiblement il faut indiquer l'emplacement de départ fixe.

    les expressions régulières je ne maîtrise pas du tout mais je pense que c'est la solution adaptée.

    Avez-vous une solution?

    Bien sure je n'ai pas envie de tout réinventer avec une boucle... s'il existe une fonction ou expression régulière qui fait ça

    Merci d'avance.

  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
    Citation Envoyé par arnovodao Voir le message
    les expressions régulières je ne maîtrise pas du tout mais je pense que c'est la solution adaptée.
    Non.

    Citation Envoyé par arnovodao Voir le message
    Bien sure je n'ai pas envie de tout réinventer avec une boucle... s'il existe une fonction ou expression régulière qui fait ça
    Si c'était déjà disponible, je comprends bien que tu n'aurais pas envie de le refaire à ta façon.

    Mais pourquoi Diable y aurait-il un mécanisme de prévu pour faire ça ?
    substring() et contains() en boucle, ça ira bien.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Ensimag
    Inscrit en
    Octobre 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ensimag
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 57
    Points : 97
    Points
    97
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    boolean contains(){
    		for (int i = 0; i < a.length()-2; i++) {
    			String fisrtThreeChar = a.substring(i,i+3);			
    			for (int j = 0; j < b.length()-2; j++) {
    				String secondThreeChar = b.substring(j,j+3);
    				if(fisrtThreeChar.equalsIgnoreCase(secondThreeChar)){
    					return true;
    				}
    			}
    		}
    		return false;
    	}
    tu peux faire comme ça, ce n'est pas très lourd à faire !!

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 37
    Points : 33
    Points
    33
    Par défaut
    merci pour vos réponses, je vous partage mon code :


    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
    public static void main(String[] args) 
        {
            String a = "azertyuiop";
            String b = "ghrfgjfghfg4h6dtr4hzertd64h6f4jf4jf4jf4gj64fg";
            int c = 3;
            boolean d = checkSequencesClavier(a, b, c);
     
            System.out.println("RESULTAT = " + d);
        }
     
        static boolean checkSequencesClavier(String clavier, String mdp, int nbsequences)
        {
            for (int x = 0; x < clavier.length(); x++)
            {
                for (int y = 0; y < mdp.length(); y++)
                {
                    if (clavier.regionMatches(x, mdp, y, nbsequences) == true)
                    {
                        return true;
                    }
                }
            }
     
            return false;
        }

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

Discussions similaires

  1. Récupérer une sous-chaine d'une chaine
    Par Invité dans le forum C
    Réponses: 10
    Dernier message: 10/01/2010, 11h07
  2. MySQL : tri selon une sous-chaine d'un champ
    Par sebhm dans le forum Requêtes
    Réponses: 5
    Dernier message: 13/03/2009, 12h08
  3. je cherche une sous chaine dans une chaine
    Par avprive dans le forum C++
    Réponses: 3
    Dernier message: 17/03/2005, 01h48
  4. Rechercher une sous chaine dans une chaine
    Par annedjomo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/02/2005, 10h36
  5. Rechercher une sous chaine dans une chaine
    Par Oluha dans le forum ASP
    Réponses: 4
    Dernier message: 03/02/2005, 14h39

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