Recuperation des dix derniers lignes d'une ligne de caractere

mkalakh01 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je veux recuperer les dix derniers lignes de liste de chaine de caractère j'ai essaie mais je me bloque
la voila <<BodetServiceTomcat.exe 2248 Services 0 632�464 Ko>>
Je veux juste recuperer <<632�464 Ko>>
Merci de m'aider svp :)
A voir également:

3 réponses

Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Bonjour,

C'est pour quand ?
0
mkalakh01 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Si vous acceptiez je le veux avant lundi et merci bcp pour votre attention

cordialement
:)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Si le fichier que tu lis a une structure figée tu peux faire une extraction avec une expression régulière :

public static Map<Integer, List<String>> findInFile(File file, Pattern pattern) throws IOException {
    try (Scanner sc = new Scanner(file)) {
        Map<Integer, List<String>> results = new TreeMap<>();
        for (int line = 1; sc.hasNextLine(); line++) {
            Matcher matcher = pattern.matcher(sc.nextLine());
            if (matcher.find()) {
                List<String> result = new ArrayList<>(matcher.groupCount() + 1);
                for (int i = 0; i <= matcher.groupCount(); i++)
                    result.add(matcher.group(i));
                results.put(line, result);
            }
        }
        return results;
    }
}

public static void main(String[] args) throws Exception {
    Map<Integer, List<String>> map = findInFile(new File("C:/rsultat.txt"), Pattern.compile("BodetServiceTomcat\\.exe\\s+\\d+ Services\\s+\\d+\\s+([^\\s]+ Ko)"));
    for (Entry<Integer, List<String>> entry : map.entrySet())
        System.out.println("Result on line " + entry.getKey() + ": " + entry.getValue().get(1));
}

Ce qui donne :
Result on line 4: 632�464 Ko

Remarque : à l'avenir merci de copier coller le code plutôt que de faire une impression écran, c'est plus pratique pour faire des tests...
0
mkalakh01 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
ca me recuper ca BUILD SUCCESSFUL (total time: 0 seconds)
il m'affiche pas ca 632�464 Ko
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > mkalakh01 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
S'il n'y a pas de résultat c'est que l'expression régulière ne correspond pas au contenu de ton fichier, il faut donc l'adapter à ton exemple exact.
0
mkalakh01 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour j'ai fais votre copier coller votre code mais resultat ca me donne rien
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
J'ai déjà répondu à ça : il faut lire...
S'il n'y a pas de résultat c'est que l'expression régulière ne correspond pas au contenu de ton fichier, il faut donc l'adapter à ton exemple exact.
Pourtant j'ai testé ton exemple (dans la discussion que tu as créé en doublon !!!) et avec l'expression régulière que j'ai donné ça matche bien...

Voir par exemple sur myregexp.com
0