TrimEnd pour Java?

Lors du processus de conversion d’une application C # en Java, je suis tombé sur l’utilisation de la méthode TrimEnd de Ssortingng. Existe-t-il une implémentation Java équivalente? Je n’arrive pas à en trouver un.

Je préfère ne pas le remplacer par sortingm , car je ne veux pas changer le sens ou le fonctionnement du programme pour le moment, à moins que je ne sois obligé de le faire.

Il n’y a pas d’équivalent direct. Toutefois, si vous souhaitez supprimer les espaces en fin de page, vous pouvez utiliser:

 "ssortingng".replaceAll("\\s+$", ""); 

\s est le jeu de caractères d’expression régulière “espaces”, si vous ne voulez que supprimer les espaces de fin, vous pouvez le remplacer par le caractère d’espace. Si vous souhaitez utiliser la forme plus générale de sortingmEnd () , c’est-à-dire pour supprimer un jeu arbitraire de caractères de fin, vous devez le modifier légèrement pour utiliser:

 "ssortingng".replaceAll("[" + characters + "]+$", ""); 

Sachez que le premier argument est une expression rationnelle générique, et donc si l’un de vos characters est le ] il doit être le premier caractère de votre liste. Pour une description complète des modèles de regex java, reportez-vous au javadoc .

Si vous avez besoin d’implémenter la méthode sortingmstart () à partir de .net, c’est à peu près la même chose, mais ressemblerait à ceci:

 "ssortingng".replaceAll("^[" + characters + "]+", ""); 

Il n’y a pas de remplacement direct. Vous pouvez utiliser les expressions rationnelles, ou peut-être la méthode Commons Lang SsortingngUtils.ssortingpEnd() .

si vous valorisez les performances (peut-être que votre méthode est utilisée dans une boucle sur des milliers de chaînes), vous pouvez utiliser cette méthode:

 public Ssortingng sortingmEnd(Ssortingng value) { int len = value.length(); int st = 0; while ((st < len) && value.charAt(len - 1) == ' ') { len--; } return value.substring(0, len); } 

Voici une astuce pour le faire à partir de: http://www.overclock.net/coding-programming/320937-simple-java-sortingm-help.html

 str = str.replaceAll(" +$", ""); 

Il n’y a pas d’équivalent natif. Utilisez ceci:

 public static Ssortingng sortingmEnd( Ssortingng s, Ssortingng suffix) { if (s.endsWith(suffix)) { return s.subssortingng(0, s.length() - suffix.length()); } return s; } 

Bonnes nouvelles!
Il a été ajouté à Java 11.
[JDK-8200378] Ssortingng :: ssortingp, Ssortingng :: ssortingpLeading, Ssortingng :: ssortingpTrailing – Java Bug System

  • ssortingp()
  • ssortingpLeading()
  • ssortingpTrailing()

Si les performances ne sont pas importantes, one-liner peut être utilisé:

 ("X" + str).sortingm().subssortingng(1) 

J’aime la version googles de goyave.

 import static com.google.common.base.CharMatcher.WHITESPACE; WHITESPACE.sortingmTrailingFrom(value); 

ou

 CharMatcher.anyOf(suffix).sortingmTrailingFrom(value); 

si vous utilisez maven, vous pouvez l’append simplement à la section des dépendances de pom.xml.

  com.google.guava guava 23.0