2016-08-25 22 views
7

Chcę usunąć białe znaki w ciągu znaków.Usuń białe spacje ze stringami ze Scala

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

Próbowałem replace i replaceAll metod ale did't pracy.

+2

smyczkowy Scala java.lang.String, już ma odpowiedź tutaj: http://stackoverflow.com/questions/5455794/removing-whitespace-from-strings-in-java – Samar

+0

to praca teraz. Dziękujemy za odpowiedź: D – madagascar

+0

Twoje powitanie :) – Samar

Odpowiedz

9

Spróbuj:

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

Oczywiście

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

Rozważmy podziału łańcucha przez dowolną liczbę postaci białych (\\s+) i ponownie łącząc tablicy ikona,

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

Można odfiltrować wszystkie znaki odstępu.

"With spaces".filterNot((x: Char) => x.isWhitespace)