Java. Comment faire pour supprimer l'espace blanc sur le tableau
Par exemple
J'ai découper une chaîne "+nom" en +. J'ai un espace blanc" " et le "nom" dans le tableau(ce qui n'arrivera pas si ma chaîne est "nom+").
t="+name";
String[] temp=t.split("\\+");
le code ci-dessus produit
temp[0]=" "
temp[1]=name
Je veut seulement obtenir "nom", sans espaces..
Aussi si t="nom+" puis temp[0]=nom. Je me demandais quelle est la différence entre nom+ et +nom. Pourquoi dois-je obtenir de sortie différents.
OriginalL'auteur John | 2012-12-12
Vous devez vous connecter pour publier un commentaire.
suffit d'utiliser la boucle à travers les éléments dans le tableau comme celui ci-dessous et supprimer l'espace blanc
il ne supprime les espaces blancs
de vérifier la réponse encore
Elle produit de la valeur null au lieu de l'espace blanc dans le tableau.
ok..faire une chose juste vérifier la valeur null.Remplacer ce un if(tableau[i].trim().equals("")){ avec ce un if(tableau[i] == null){
OriginalL'auteur Murali Prasanth
La valeur du premier élément de tableau est pas un espace (
" "
), mais une chaîne vide (""
). L'extrait de code suivant illustre le comportement et fournit une solution de contournement: j'ai simplement bande de leader délimiteurs de l'entrée. Notez que cela ne devrait jamais être utilisé pour le traitement des fichiers csv, parce que l'un des principaux délimiteur permettra de créer une colonne vide, la valeur qui est généralement souhaité.que faire si la chaîne est "+++++nom" ou "prénom+++nom", mais je ne veux le nom et prénom nom. est-il une bonne façon de gérer cela?
Assurez-vous. Le délimiteur n'est rien mais une expression régulière. Utilisation
\\++
si vous voulez diviser autour d'un ou plusieurs points positifs.OriginalL'auteur Andreas_D
Vous obtenez un élément supplémentaire pour
"+name"
'est en raison de la non-vide de la valeur "name" après le séparateur.La
split()
fonction "mic" la fuite des séparateurs de résultat pour les éléments vides à la fin d'un tableau. Voir JavaSE Manuel.Exemples de
.split("\\+")
de sortie:Je dirais empêcher d'avoir les délimiteurs sur les deux extrémités plutôt que de nettoyage par la suite.
OriginalL'auteur Ianthe the Duke of Nukem
à supprimer l'espace blanc
vous êtes en train de supprimer l'espace blanc de la chaîne, alors votre êtes spiting à l'aide de la boucle.
cette chaîne de caractères "+nom" n'a pas d'espace blanc.
mais quand j'ai divisé cette chaîne en tableau=string.split("\\+"). J'ai un espace blanc dans tableau[0]
OriginalL'auteur Mohammod Hossain
Je ne sais pas pourquoi il ne fonctionne pas avec vous. Mais si vous essayez de prendre un coup d'oeil à ce code, il fonctionne réellement. String str = "nom +"; str = str.replaceAll("\\W", ""); String[] tableau = str.split("\\+"); for( int i = 0; i < tableau.longueur; i++){ System..println(tableau[i]); }
OriginalL'auteur Michael Ardan
Pour un liner :
Ce sera de remplacer tous les plusieurs signes plus par une ou un signe plus au début par une Chaîne vide, puis se diviser sur les signes plus ( + ).
Qui va éliminer les Cordes à vide dans le résultat.
split(String regex)
est équivalent àsplit(String regex, int limit)
avec limit = 0. Et la documentation de ces états :C'est pourquoi un
'+'
au début fonctionne différemment d'un'+'
à la finOriginalL'auteur bowmore
Vous pourriez vouloir donner à goyaves Splitter un essai. Il a une belle api fluent à traiter avec emptyStrings, trim(), etc.
OriginalL'auteur Jan Galinski