Comment supprimer les nouvelles lignes du début et de la fin d’une chaîne (Java)?

J’ai une chaîne contenant du texte suivi d’une ligne vierge. Quelle est la meilleure façon de conserver la partie avec du texte, mais de supprimer la ligne blanche à la fin?

Utilisez la méthode Ssortingng.sortingm() pour vous débarrasser des espaces blancs (espaces, nouvelles lignes, etc.) à partir du début et de la fin de la chaîne.

 Ssortingng sortingmmedSsortingng = mySsortingng.sortingm(); 
 Ssortingng.replaceAll("[\n\r]", ""); 
 Ssortingng sortingmStartEnd = "\n TestSsortingng1 linebreak1\nlinebreak2\nlinebreak3\n TestSsortingng2 \n"; System.out.println("Original Ssortingng : [" + sortingmStartEnd + "]"); System.out.println("-----------------------------"); System.out.println("Result Ssortingng : [" + sortingmStartEnd.replaceAll("^(\\r\\n|[\\n\\x0B\\x0C\\r\\u0085\\u2028\\u2029])|(\\r\\n|[\\n\\x0B\\x0C\\r\\u0085\\u2028\\u2029])$", "") + "]"); 
  1. Début d’une chaîne = ^,
  2. Fin d’une chaîne = $,
  3. combinaison de regex = | ,
  4. Linebreak = \ r \ n | [\ n \ x0B \ x0C \ r \ u0085 \ u2028 \ u2029]

Je vais également append une réponse à cette question car, même si j’avais la même question, la réponse fournie ne suffisait pas. Avec une certaine reflection, j’ai réalisé que cela pouvait se faire très facilement avec une expression régulière.

Pour supprimer les nouvelles lignes depuis le début:

 // Trim left Ssortingng[] a = "\n\nfrom the beginning\n\n".split("^\\n+", 2); System.out.println("-" + (a.length > 1 ? a[1] : a[0]) + "-"); 

et fin d’une chaîne:

 // Trim right Ssortingng z = "\n\nfrom the end\n\n"; System.out.println("-" + z.split("\\n+$", 2)[0] + "-"); 

Je suis certain que ce n’est pas le moyen le plus efficace de rogner une chaîne. 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 supprimer toute variation et combinaison de caractères des deux extrémités, car il s’agit d’une simple expression régulière.

Si votre chaîne est potentiellement null , envisagez d’utiliser SsortingngUtils.sortingm() – la version null-safe de Ssortingng.sortingm() .

 Ssortingng text = readFileAsSsortingng("textfile.txt"); text = text.replace("\n", "").replace("\r", "");