Comment faire pour extraire la sous-chaîne dans Groovy?

J'ai un Groovy méthode qui fonctionne mais est réel laid/hacky recherche:

def parseId(String str) {
    System.out.println("str: " + str)
    int index = href.indexOf("repositoryId")
    System.out.println("index: " + index)
    int repoIndex = index + 13
    System.out.println("repoIndex" + repoIndex)
    String repoId = href.substring(repoIndex)
    System.out.println("repoId is: " + repoId)
}

Lorsque cela fonctionne, vous pouvez obtenir une sortie comme:

str: wsodk3oke30d30kdl4kof94j93jr94f3kd03k043k?planKey=si23j383&repositoryId=31850514
index: 59
repoIndex: 72
repoId is: 31850514

Comme vous pouvez le voir, je suis tout simplement intéressés par l'obtention de la repositoryId valeur (tout ce qui est après le = opérateur) de la Chaîne. Est-il plus efficace/Groovier façon de le faire, c'est la seule façon?

Utiliser une expression régulière pour capturer le modèle que vous recherchez

OriginalL'auteur IAmYourFaja | 2014-07-31