Scala:用%20替换所有空格字符

时间:2017-07-08 21:43:12

标签: scala

我需要用%20替换所有空格字符。我在Scala中写了这个。

strToConvert.map(c => if (Character.isSpaceChar(c)) "%20" else c).mkString

在Scala中有更好的方法吗?

[编辑] 让我们假设replaceAll不可用,我们希望实现类似于replaceAll方法的算法

1 个答案:

答案 0 :(得分:1)

您可以使用String.replaceAll(what_to_replace, with_what)

例如。用%20

替换单个空格
scala> val input = "this is my http request          execute me"
input: String = this is my http request          execute me

scala> input.replaceAll(" ", "%20")
res1: String = this%20is%20my%20http%20request%20%20%20%20%20%20%20%20%20%20execute%20me

或使用\\s正则表达式(匹配单个空白字符)

scala> input.replaceAll("\\s", "%20")
res2: String = this%20is%20my%20http%20request%20%20%20%20%20%20%20%20%20%20execute%20me

如果您希望将多个空格替换为单个%20 ,请使用匹配一个或多个空白字符序列的\\s+

scala> input.replaceAll("\\s+", "%20")
res3: String = this%20is%20my%20http%20request%20execute%20me