web-dev-qa-db-fra.com

Supprimer les caractères de la fin d'une chaîne Scala

Quelle est la méthode la plus simple pour supprimer le dernier caractère de la fin d'une chaîne dans Scala?

Je trouve que la classe Rubys String a des méthodes très utiles comme chop. J'aurais utilisé "oddoneoutz" .headOption à Scala, mais il est déprécié. Je ne veux pas entrer dans le trop complexe:

string.slice(0, string.length - 1)

S'il vous plaît, quelqu'un me dit qu'il existe une méthode simple et agréable comme couper pour quelque chose d'aussi commun.

66
BefittingTheorem

Que diriez-vous d'utiliser dropRight, qui fonctionne en 2.8: -

"abc!".dropRight(1)

Qui produit "abc"

126
Don Mackenzie
string.init // padding for the minimum 15 characters
12
Walter Chang
val str = "Hello world!"
str take (str.length - 1) mkString
7
David Winslow
string.reverse.substring(1).reverse

C'est essentiellement du coup, non? Si vous avez envie d'une méthode chop, pourquoi ne pas écrire votre propre bibliothèque StringUtils et l'inclure dans vos projets jusqu'à ce que vous trouviez un remplacement plus générique approprié?

Hé, regardez, c'est en commun.

Apache Commons StringUtils .

4
Stefan Kendall

Si vous voulez la solution la plus efficace, utilisez simplement:

str.substring(0, str.length - 1)
3
Andriy Plokhotnyuk