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

Android Discussion :

"\n" dans une chaîne


Sujet :

Android

  1. #1
    Membre habitué Avatar de cad13
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 247
    Points : 197
    Points
    197
    Par défaut "\n" dans une chaîne
    Bonjour,

    Je récupère sur internet une chaîne de caractères qui se termine par "\n", par exemple = "toto\n"

    Mon problème c'est que lorsque je teste la longueur de cette chaîne, il me donne bien 6 (il tient compte du \n), mais quand je fais un replace("\n", "") ou que je compare les deux derniers caractères avec "\n", il ne les trouve pas !

    Y-a-t-il un truc pour prendre en compte ces caractères ? (j'ai pensé au code ASCII, mais comment faire dans ce cas ?)

    Merci d'avance.
    Christian
    Nexus 1 sous Cyanogen - Acer A500

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    \n n'occupe qu'un seul caractère. Si tu a deux caractère, c'est que t'as un retour "à la windows" avec \r\n

  3. #3
    Membre habitué Avatar de cad13
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 247
    Points : 197
    Points
    197
    Par défaut
    Merci, c'est ce que j'ai pu voir, du coup je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    k = tmp.length();
    if (k > 1) {
    	// search for "\n" at the end of the string
    	c = tmp.charAt(k-1);
            ascii = (int) c;
    	if (ascii == 10) {
    		// LF
    		tmp = tmp.substring(0, k-1);
    		k = k-2;
    	}
    }
    Par contre et c'est un piège, la longueur donne bien 2 caractères en plus, mais en supprimant seulement le dernier caractère (LF) j'ai bien ma chaîne sans le "\n" (LF), donc je suis obligé de faire k=k-2 pour la nouvelle longueur et non k=k-1 !

    Merci
    Christian
    Nexus 1 sous Cyanogen - Acer A500

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    a noter que ceci suffit à retirer les retours à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String ligne = ....;
    ligne=ligne.replaceAll("[\\r\\n\\f]","");

  5. #5
    Membre habitué Avatar de cad13
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 247
    Points : 197
    Points
    197
    Par défaut
    Ah merci, et oui c'est plus simple...

    Les crochets !!!
    Christian
    Nexus 1 sous Cyanogen - Acer A500

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/04/2011, 14h37
  2. [BASH] Insertion de quotes dans une chaîne
    Par Alfred456654 dans le forum Linux
    Réponses: 7
    Dernier message: 21/07/2009, 13h55
  3. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51

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