Scala: замена новой строки, табуляции и возврата последовательностей из строки

У меня есть строка HTML, которую я копирую и вставляю в объект String, который выглядит примерно так:

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

Проблема здесь в том, что когда я отображаю эту строку как JSON в контексте веб-браузера, вывод отображает буквальные символы \n и \t примерно так:

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

Возможно ли удалить все эти экранированные последовательности из моих строк, выводимых в Scala?


person randombits    schedule 10.07.2013    source источник


Ответы (1)


Вы могли бы просто

s.filter(_ >= ' ')

чтобы выбросить все управляющие символы.

Если вы хотите также опустить лишние пробелы в начале/конце строк, вы можете вместо этого

s.split('\n').map(_.trim.filter(_ >= ' ')).mkString
person Rex Kerr    schedule 10.07.2013
comment
Это действительно здорово. Почему фильтр не избавился от всех пробелов, а только от управляющих символов? - person randombits; 11.07.2013
comment
@randombits — потому что я отфильтровал (в) все, что выше пробела или равно, а все управляющие символы имеют значение ниже пробела. - person Rex Kerr; 11.07.2013