Ответ 1
Попробуйте следующее:
input.replaceAll("\\s", "")
Я хочу удалить пробелы в строке.
Input: "le ngoc ky quang"
Output: "lengockyquang"
Я попробовал методы replace
и replaceAll
, но это не сработало.
Попробуйте следующее:
input.replaceAll("\\s", "")
Вы можете отфильтровать все пробельные символы.
"With spaces".filterNot((x: Char) => x.isWhitespace)
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>
Попробуйте разделить строку на любое количество пробельных символов (\\s+
), а затем повторно объединить разделенный массив,
str.split("\\s+").mkString
Очевидно, что
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
Согласно alvinalexander он показывает, как заменить более одного пробела на один пробел. Вы можете применить ту же логику, но вместо одного пробела вы должны заменить ее на пустую строку.
input.replaceAll(" +", "")