Scala:String Chomp

时间:2010-02-15 22:52:44

标签: scala

Scala是否有API在字符串上执行“chomp”? 我希望将字符串“abcd \ n”转换为“abcd”

由于 阿贾伊

4 个答案:

答案 0 :(得分:11)

java.lang.String.trim(),但这也会删除前导空格。还有RichString.stripLineEnd,但这只会移除\n\r

答案 1 :(得分:4)

如果你不想使用Apache Commons Lang,你可以按照这些方式自行编写。

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]

答案 2 :(得分:4)

事实上, chomp 1

的开箱即用支持
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]
对于chomp的某些定义,

1 ;与sepp2k完全相同的答案,但展示了如何在String

上使用它

答案 3 :(得分:1)

为什么不使用Apache Commons LangStringUtils.chomp()功能? Scala的一大优点是可以利用现有的Java库。