2013-07-10 14 views
14

Tôi có một chuỗi của HTML mà tôi copy dán vào một đối tượng String trông giống như sau:Scala: Thay thế xuống dòng, tab và trở về trình tự từ chuỗi

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

Vấn đề ở đây là, khi tôi hiển thị chuỗi này như JSON trong bối cảnh của một trình duyệt web, hiển thị đầu ra literal \n\t ký tự theo giai điệu của một cái gì đó như thế này:

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

có thể có lẽ tước tất cả các trình tự thoát khỏi tôi chuỗi đầu ra trong Scala?

Trả lời

39

Bạn có thể chỉ

s.filter(_ >= ' ') 

vứt bỏ tất cả các ký tự điều khiển.

Nếu bạn muốn bỏ qua khoảng trống thừa lúc bắt đầu/kết thúc của dòng cũng có, bạn có thể thay

s.split('\n').map(_.trim.filter(_ >= ' ')).mkString 
+0

Đó là thực sự tuyệt vời. Làm thế nào đến các bộ lọc đã không được thoát khỏi tất cả các không gian màu trắng và chỉ có các nhân vật kiểm soát? – randombits

+2

@randombits - Bởi vì tôi đã lọc (trong) mọi thứ ở trên _hoặc bằng không gian, và các ký tự điều khiển đều có giá trị thấp hơn không gian. –

+0

Cảm ơn bạn Rex. Đó là thứ tuyệt vời. – randombits

Các vấn đề liên quan