78

Groovyには一種のURLEncodeがありますか?

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

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

一部の実装ではそうするので、+代わりに%20受け入れることもできます)

4

1 に答える 1

136

を使用できます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"  
于 2012-04-17T08:11:08.353 に答える