2010-06-23 18 views
3

Je voudrais supprimer l'espace blanc de début dans une chaîne, mais sans supprimer l'espace de fin - donc trim() ne fonctionnera pas. En python j'utilise lstrip(), mais je ne suis pas sûr s'il y a un équivalent en Java.Java équivalent de Python's String lstrip()?

À titre d'exemple

" foobar " 

devrait devenir

"foobar " 

Je voudrais aussi éviter d'utiliser Regex si possible.

Y at-il une fonction intégrée dans Java, ou dois-je créer ma propre méthode pour cela? (et quel est le moyen le plus court que je pourrais atteindre cela)

+0

Puis-je demander pourquoi ne pas regex? La réponse de Krock ressemble au plus court chemin à faire. Et il est parfaitement lisible, rapide et ne nécessite aucune bibliothèque supplémentaire. –

+0

@tulskiy Je considère que l'utilisation de StringUtils pour cette tâche est plus lisible et traduit mieux l'intention de l'action. –

+1

@ Christian Semaru: Je comprends que commons lang est une excellente bibliothèque, mais ajouter toute la bibliothèque à un projet en raison d'une tâche simple est une exagération. –

Répondre

4

Vous pouvez le faire dans une expression régulière:

" foobar ".replaceAll("^\\s+", ""); 
+1

Il est amusant de voir comment une réponse contenant une regex a été acceptée. regex devrait être évité. Personnellement, j'utiliserais aussi regex au lieu d'une bibliothèque - sauf que cette bibliothèque fait déjà partie du projet. – musiKk

6

Vous pouvez utiliser la classe StringUtils de Apache Commons Lang qui a une méthode stripStart() (et beaucoup plus).

2

Guava a CharMatcher.WHITESPACE.trimLeadingFrom(string). Cela n'est pas si différent des versions des autres bibliothèques utilitaires, mais une fois familiarisé avec le CharMatcher, il y a un large éventail d'opérations de traitement de texte que vous savez exécuter de manière cohérente, lisible et performante. .