В Java, я могу сделать это с commons-lang:
commons-lang
StringUtils.stripEnd(" abc \t", null) // => " abc"
Я хочу знать, есть ли какой-либо встроенный метод, чтобы сделать это в Scala, или как сделать это в Scala безкакие-либо сторонние зависимости?
Вы можете сделать это с помощью регулярного выражения:
" string ".replaceAll("\\s+$", ""); res0: java.lang.String = " string"
Другой возможный способ - использовать метод dropWhile из rich String класса с именем StringOps
dropWhile
String
StringOps
scala> val y = " abcd ".reverse.dropWhile(_ == ' ').reverse y: String = " abcd"
Если вам нужно обрезать пробелы в начале строки, просто удалите reverse методы:
reverse
scala> val y = " abcd ".dropWhile(_ == ' ') y: String = "abcd "
Без внешних зависимостей и только обрезка конца:
scala> val s = " test \t" s: java.lang.String = " test " scala> val Regex = """^(.*?)\s*$""".r Regex: scala.util.matching.Regex = ^(.*?)\s*$ scala> val Regex(trimmed) = s trimmed: String = " test"