Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur methode split()

    29 octobre 2014 à 20:56:47

    Bonjour. Je voudrais savoir comment marche exactement split() dans le cas ou deux séparateur se suivent.

    Je voudrais couper une date en 3 :

    String str = "2014/10/04" 

    J'utilise naturellement un :

    String dates[] = str.split("/"); 

    J'obtiens "2014","10","04". Parfait.
    Mais lorsque je veux m'assurer qu'il n'y ai pas de champs vide, exemple : 2014//04 via un

     if (dates[1]=="") {/*blabla*/}

    Ma condition n'est pas validé. Je me demandais donc pourquoi mon split n'avait pas stocké une chaine vide en dates[1] et comment le forcer a le faire.

    -
    Edité par Anedris 29 octobre 2014 à 21:11:56

    • Partager sur Facebook
    • Partager sur Twitter
      29 octobre 2014 à 21:03:08

      Normalement split stock bien une chaine vide lorsqu'il tombe sur 2 caractères de séparation consécutifs.

      Regarde l'exemple avec "boo:and:foo" : http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String)

      P.S : Tu ne peux pas comparer des String avec "==", ça revient à comparer leurs références, il faut faire "if dates[1].equals("")"

      -
      Edité par LeSuricateFurtif 29 octobre 2014 à 21:05:56

      • Partager sur Facebook
      • Partager sur Twitter
      Un de ces quatre, viens faire un tour sur Zeste de Savoir !
        29 octobre 2014 à 21:32:11

        Bonsoir.

        Répondu au dessus :

        • String vide si aucun caractère entre 2 séparateur
        • Utiliser la méthode equals() pour comparer les objets
          L'utilisation de isEmtpy() est même mieux !

        Astuces au passage :

        • Pour convertir un String en Date il y a SimpleDateFormat : exception levée si mauvaise valeur, tu devras gérer.
        • Pour vérifier le bon formatage tu peux aussi utiliser une regex : [0-3][0-9]/[0-3][0-9]/[0-9]{4}
          Mais cela n'est pas sûr à 100%, mieux vaut utiliser la solution précédente.
        • Partager sur Facebook
        • Partager sur Twitter
        Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)
          30 octobre 2014 à 0:40:33

          Mon dieu erreur totalement stupide de ma part :X ...

          Merci a vous deux.

          • Partager sur Facebook
          • Partager sur Twitter

          Question sur methode split()

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown