Как обрезать конечные пробелы строки?

в Java, я могу сделать это с commons-lang:

StringUtils.stripEnd("  abc  t", null) // => "  abc"

Я хочу знать, есть ли какой-либо встроенный метод для этого в scala или как это сделать в scala без каких-либо сторонних зависимостей?

3 ответов


вы можете сделать это с помощью regex:

"  string  ".replaceAll("\s+$", "");
res0: java.lang.String = "  string"

другой возможный способ-использовать метод dropWhile от rich String класс StringOps

scala> val y = "   abcd   ".reverse.dropWhile(_ == ' ').reverse
y: String = "   abcd"

Если вам нужно обрезать пробелы с начала строки, просто удалите 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"