Scala是否有API在字符串上执行“chomp”? 我希望将字符串“abcd \ n”转换为“abcd”
由于 阿贾伊
答案 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 Lang和StringUtils.chomp()功能? Scala的一大优点是可以利用现有的Java库。