web-dev-qa-db-ja.com

Scala:文字列から改行、タブ、リターンのシーケンスを置き換える

次のようなStringオブジェクトにコピーして貼り付けているHTMLの文字列があります。

val s = """<body>
   <p>This is a test</p>  <p>This is a test 2</p>
 </body"""

ここでの問題は、Webブラウザーのコンテキスト内でこの文字列をJSONとして表示すると、出力に次のようなものにリテラル\nおよび\t文字が表示されることです。

"<body>\n <p>This is a test</p>\t <p>This is a test 2</p>\n</body>"

Scalaで出力された文字列からこれらのエスケープされたシーケンスをすべて取り除くことは可能ですか?

21
randombits

あなたはただできた

s.filter(_ >= ' ')

すべての制御文字を破棄します。

行の最初/最後にある余分な空白も省略したい場合は、代わりにできます

s.split('\n').map(_.trim.filter(_ >= ' ')).mkString
56
Rex Kerr