GroovyでURLをエンコードするには?質問する

GroovyでURLをエンコードするには?質問する

Groovy には URLEncode のようなものがありますか?

文字列 → 文字列 URL エンコード ユーティリティが見つかりません。

例: dehydrogenase (NADP+)dehydrogenase%20(NADP%2b)

+の代わりに%20も使用できます。いくつかの実装はそれを行います)

ベストアンサー1

を使うこともできます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"  

おすすめ記事