Sie String.replaceAll(what_to_replace, with_what)
verwenden können.
z. einzelne Leerzeichen zu ersetzen, mit %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
oder verwenden \\s
regex (entspricht einzelnen Leerzeichen)
scala> input.replaceAll("\\s", "%20")
res2: String = this%20is%20my%20http%20request%20%20%20%20%20%20%20%20%20%20execute%20me
Wenn Sie mehrere Leerzeichen wollen einen einzigen %20
zu ersetzen, dann verwenden \\s+
die entspricht der Reihenfolge eines oder mehrerer Leerzeichen
scala> input.replaceAll("\\s+", "%20")
res3: String = this%20is%20my%20http%20request%20execute%20me
'strToConvert.replaceAll (" "" \ s + "" ","% 20 ")' – frozen
Ohne 'replaceAll' zu verwenden, denke ich, dass Sie es richtig gemacht haben. Das einzige, was ich vorschlagen kann, ist das Ersetzen von 'Character.isSpaceChar (c)' durch 'c.isSpaceChar'. Beachten Sie, dass Sie in beiden Fällen möglicherweise Probleme mit Leerzeichen haben, die nicht einem einzelnen Zeichenwert zugeordnet sind (so dass das Leerzeichen durch mehrere Ersatzzeichen dargestellt wird). –
@MikeAllen Danke für den Tipp! Gibt es einen Unterschied zwischen Character.isSpaceChar und c.isSpaceChar neben der Tatsache, dass letzteres weniger Tipparbeit erfordert. – Programmer