Vous pourriez utiliser java.net.URLEncoder
.
Dans votre exemple ci-dessus, les parenthèses doivent également être encodées :
def toEncode = "dehydrogenase (NADP+)"
assert java.net.URLEncoder.encode(toEncode, "UTF-8") == "dehydrogenase+%28NADP%2B%29"
Vous pouvez également ajouter une méthode à la métaclasse de string :
String.metaClass.encodeURL = {
java.net.URLEncoder.encode(delegate, "UTF-8")
}
Et appel simple encodeURL()
sur n'importe quelle chaîne :
def toEncode = "dehydrogenase (NADP+)"
assert toEncode.encodeURL() == "dehydrogenase+%28NADP%2B%29"