Scala使用额外的空格和新行标准化字符串

时间:2016-07-25 04:50:58

标签: string scala

我使用a = 48 array = [] (1..a/10).each{|x| array.push(x*10)} a%10 != 0 ? array.push(a) : array #=> [10, 20, 30, 40, 48] 来阅读 select distinct on(id) id, case when from_date <= '2015-01-15' and to_date >= '2015-01-15' then 'true' else 'false' end as status from dates;

   id | status 
   ----+--------
    a | true

我想将此String与另一个进行比较:

Selenium

所以我想做那样的事情:

val address="\nZONE COFFERCDALD ENGLOS LES GE\nRUE DU HEM\n21542 SDQUEFIN "

你认为这是最好的解决方案吗?

2 个答案:

答案 0 :(得分:3)

如果你想修剪任何多余的空格,当你出现连续超过3个空格时,你的代码并没有按预期工作。

"aaa ab ccc".replace("\n", " ").replace(" ", " ").trim //aaa ab ccc

address.replaceAll("\\s+", " ")可能正在做你想要实现的目标。

答案 1 :(得分:1)

要绕过字符串尾随和格式化字符的复杂性,请考虑这些转换,

val a = address.split("\\W+").filter(_.nonEmpty)
Array(ZONE, COFFERCDALD, ENGLOS, LES, GE, RUE, DU, HEM, 21542, SDQUEFIN)

val c = compareTo.split("\\W+").filter(_.nonEmpty)
Array(ZONE, COFFERCDALD, ENGLOS, LES, GE, RUE, DU, HEM, 21542, SDQUEFIN)

我们现在可以比较像这样的转换

a.zip(c).forall(t => t._1 == t._2)

更新由@ASpotySpot评论的基于API的数组比较,

a.sameElementsAs(c)