J'ai une chaîne qui contient du texte suivi d'une ligne vide. Quelle est la meilleure façon de conserver la partie avec du texte, mais de supprimer le retour à la ligne d'espacement à la fin?
java
string
line
blank-line
Confiqure
la source
la source
Réponses:
Utilisez la
String.trim()
méthode pour éliminer les espaces (espaces, nouvelles lignes, etc.) du début et de la fin de la chaîne.la source
la source
tl; dr
String::strip…
L'ancienne
String::trim
méthode a une étrange définition de l' espace blanc .Comme discuté ici , Java 11 ajoute de nouvelles
strip…
méthodes à laString
classe. Celles-ci utilisent une définition d'espaces plus basée sur Unicode. Voir les règles de cette définition dans la classe JavaDoc pourCharacter::isWhitespace
.Exemple de code.
Ou vous pouvez supprimer uniquement l' espace blanc de début ou de fin .
Vous ne mentionnez pas exactement quel (s) point (s) de code composent vos nouvelles lignes. J'imagine que votre nouvelle ligne est probablement incluse dans cette liste de points de code ciblés par
strip
:la source
Ce code Java fait exactement ce qui est demandé dans le titre de la question, à savoir "supprimer les nouvelles lignes du début et de la fin d'une chaîne-java":
Supprimez les nouvelles lignes uniquement à partir de la fin de la ligne:
Supprimez les nouvelles lignes uniquement depuis le début de la ligne:
la source
Si votre chaîne est potentiellement
null
, envisagez d'utiliserStringUtils.trim()
- la version deString.trim()
.la source
la source
Si vous souhaitez uniquement supprimer les sauts de ligne (pas les espaces, les tabulations) au début et à la fin d'une chaîne (pas entre les deux), vous pouvez utiliser cette approche:
Utilisez une expression régulière pour supprimer les retours chariot (
\\r
) et les sauts de ligne (\\n
) du début (^
) et de la fin ($
) d'une chaîne:Exemple complet:
Il sort:
la source
Je vais également ajouter une réponse à cela car, même si j'avais la même question, la réponse fournie ne suffisait pas. Après avoir réfléchi, j'ai réalisé que cela pouvait être fait très facilement avec une expression régulière.
Pour supprimer les nouvelles lignes depuis le début:
et fin d'une chaîne:
Je suis certain que ce n'est pas la manière la plus efficace de couper une corde. Mais cela semble être le moyen le plus propre et le plus simple d'intégrer une telle opération.
Notez que la même méthode peut être utilisée pour couper toute variation et combinaison de caractères de chaque extrémité car il s'agit d'une simple expression régulière.
la source
split()
est juste la limite. Laissez-le désactivé si vous souhaitez faire correspondre un nombre illimité de fois.Essaye ça
la source
la source