Как кодировать URL в Groovy?

есть ли своего рода URLEncode в Groovy?

Я не могу найти строку → string URL encoding utility.

пример: 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:

String.metaClass.encodeURL = {
   java.net.URLEncoder.encode(delegate, "UTF-8")
}

и простой вызов encodeURL() на любую строку:

def toEncode = "dehydrogenase (NADP+)"
assert toEncode.encodeURL() == "dehydrogenase+%28NADP%2B%29"