、私はcommons-lang
でそれを行うことができます。文字列の最後の空白を整える方法は? Javaでは
StringUtils.stripEnd(" abc \t", null) // => " abc"
を私はScalaでこれを行うには、任意の組み込みの方法があるかどうかを知りたい、または任意のサードパーティの依存関係なしでScalaでそれを行う方法?
、私はcommons-lang
でそれを行うことができます。文字列の最後の空白を整える方法は? Javaでは
StringUtils.stripEnd(" abc \t", null) // => " abc"
を私はScalaでこれを行うには、任意の組み込みの方法があるかどうかを知りたい、または任意のサードパーティの依存関係なしでScalaでそれを行う方法?
あなたが正規表現でそれを行うことができます:外部依存関係がないと
" string ".replaceAll("\\s+$", "");
res0: java.lang.String = " string"
'replaceAll'ではなく' replaceFirst'で十分でしょうか? –
だけトリミング終了:
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"
もう一つの可能な方法は、名前の豊かString
クラスからメソッドdropWhile
を使用することですStringOps
scala> val y = " abcd ".reverse.dropWhile(_ == ' ').reverse
y: String = " abcd"
トリミングが必要な場合文字列の先頭からスペースがちょうどreverse
メソッドを削除:
scala> val y = " abcd ".dropWhile(_ == ' ')
y: String = "abcd "
+1うわー、これは素晴らしかったです! – Jonas
Javaはスカラ座と完全に相互運用可能で、Scalaの文字列は、実際にJavaの文字列ですので、あなたが提供されているコードの同じ行を使用することができます。あるいは、Scalaでそれを行う慣用方法について質問していますか? – agilesteel
@agilestell、そうです。 – Freewind
可能な重複の質問を更新してみましょう:http://stackoverflow.com/questions/2269509/scala-string-chomp * retronym * answerをチェックしてください。 – paradigmatic