Scala ha un'API per eseguire un "chomp" su una stringa? Preferibilmente, vorrei convertire una stringa "abcd \ n" Perché non utilizzare a "ABCD"Scala: Chomp di stringa
Grazie Ajay
Scala ha un'API per eseguire un "chomp" su una stringa? Preferibilmente, vorrei convertire una stringa "abcd \ n" Perché non utilizzare a "ABCD"Scala: Chomp di stringa
Grazie Ajay
Apache Commons Lang e la funzione StringUtils.chomp()? Uno degli aspetti positivi di Scala è che puoi sfruttare le librerie Java esistenti.
C'è java.lang.String.trim()
, ma questo rimuove anche gli spazi iniziali. C'è anche RichString.stripLineEnd
, ma questo rimuove solo \n
e \r
.
Se non si desidera utilizzare Apache Commons Lang, è possibile eseguire il rollover, seguendo queste linee.
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]
V'è infatti un fuori del supporto scatola per 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]
per qualche definizione di chomp; Davvero la stessa risposta di sepp2k ma che mostra come usarlo su String
si dovrebbe probabilmente definire cosa fa il chomp. non tutte le lingue lo hanno come un'operazione di stringa standard. –