Как кодировать 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"