GroovyにはURLEncodeのようなものがありますか?
文字列→文字列URLエンコードユーティリティが見つかりません。
例:dehydrogenase (NADP+)
→dehydrogenase%20(NADP%2b)
(+
の代わりに%20
も使用できます。 some 実装がそうするように)
_Java.net.URLEncoder
_を使用できます。
上記の例では、括弧もエンコードする必要があります。
_def toEncode = "dehydrogenase (NADP+)"
assert Java.net.URLEncoder.encode(toEncode, "UTF-8") == "dehydrogenase+%28NADP%2B%29"
_
文字列のメタクラスにメソッドを追加することもできます:
_String.metaClass.encodeURL = {
Java.net.URLEncoder.encode(delegate, "UTF-8")
}
_
そして、任意の文字列でencodeURL()
を呼び出すだけです:
_def toEncode = "dehydrogenase (NADP+)"
assert toEncode.encodeURL() == "dehydrogenase+%28NADP%2B%29"
_