¿Tiene Scala una API para hacer un "chomp" en una cadena? Preferiblemente, me gustaría convertir una cadena "ABCD \ n" a "ABCD"Scala: String Chomp
Gracias Ajay
¿Tiene Scala una API para hacer un "chomp" en una cadena? Preferiblemente, me gustaría convertir una cadena "ABCD \ n" a "ABCD"Scala: String Chomp
Gracias Ajay
Por qué no usar Apache Commons Lang y la función StringUtils.chomp()? Una de las mejores cosas de Scala es que puede sacar provecho de las bibliotecas Java existentes.
Hay java.lang.String.trim()
, pero eso también elimina los espacios en blanco iniciales. También hay RichString.stripLineEnd
, pero eso solo elimina \n
y \r
.
Si no desea utilizar Apache Commons Lang, puede hacer las suyas propias, en esta línea.
scala> def chomp(text: String) = text.reverse.dropWhile(" \n\r".contains(_)).reverse
chomp: (text: String)String
scala> "[" + chomp(" a b cd\r \n") + "]"
res28: java.lang.String = [ a b cd]
De hecho, hay una salida de la caja de soporte para chomp
scala> val input = "abcd\n"
input: java.lang.String =
abcd
scala> "[%s]".format(input)
res2: String =
[abcd
]
scala> val chomped = input.stripLineEnd
chomped: String = abcd
scala> "[%s]".format(chomped)
res3: String = [abcd]
por alguna definición de chomp; realmente la misma respuesta que sepp2k, pero mostrando cómo usarlo en String
probablemente debería definir lo que chomp hace. no todos los idiomas lo tienen como una operación de serie estándar. –