2016-08-25 20 views
7

Я хочу удалить пробелы в строке.Удалить пробелы в строке с помощью Scala

Input: "le ngoc ky quang" 
Output: "lengockyquang" 

Я попытался replace и replaceAll методы, но это did't работу.

+2

Строка в Скале является java.lang.String, уже есть ответ здесь: http://stackoverflow.com/questions/5455794/removing-whitespace-from-strings-in-java – Samar

+0

это работа теперь. Спасибо за ваш ответ: D – madagascar

+0

Ваш прием :) – Samar

ответ

9

Попробуйте следующее:

input.replaceAll("\\s", "") 
0
val str = "le ngoc ky quang" 
str.replace(" ", "") 

////////////////////////////////////// 
scala> val str = "le ngoc ky quang" 
str: String = le ngoc ky quang 

scala> str.replace(" ", "") 
res0: String = lengockyquang 

scala> 
0

Очевидно,

scala> import PartialFunction.{cond => when} 
import PartialFunction.{cond=>when} 

scala> "le ngoc ky quang".filterNot(when(_) { case ' ' => true }) 
res0: String = lengockyquang 

scala> val r = """\p{Space}+""".r 
r: scala.util.matching.Regex = \p{Space}+ 

scala> "le ngoc ky quang".filterNot(when(_) { case r() => true }) 
res1: String = lengockyquang 
3

Рассмотрит разделив строку любого числа пробельных символов (\\s+), а затем повторно конкатенацию массива пейнтбольного,

str.split("\\s+").mkString 
5

Вы можете отфильтровать все пробельные символы.

"With spaces".filterNot((x: Char) => x.isWhitespace) 
Смежные вопросы