Trancher une ficelle dans groovy

J'ai une chaîne de caractères 18 à partir de laquelle je veux des caractères 2-8. En python je peux faire ceci:

sliceMe = "nnYYYYYYnnnnnnnnnn"
print sliceMe[2:8]

Imprime

YYYYYY

Je cherche un moyen de faire la même chose dans groovy, et chaque explication est vraiment longue. Quelle est la façon élégante acceptée de le faire dans groovy (ou java d'ailleurs)?

29
demandé sur Mikey 2011-05-14 02:32:28

3 réponses

groovy:000> sliceMe = "nnYYYYYYnnnnnnnnnn"
===> nnYYYYYYnnnnnnnnnn
groovy:000> sliceMe[2..7]
===> YYYYYY

Notez que la différence de longueur est inférieure à 1.

45
répondu onteria_ 2011-05-13 22:37:54

Vous héritez de toutes les méthodes Java off String donc sliceMe.substring(2,7) devrait faire l'affaire.

8
répondu BZ. 2016-02-22 08:31:08

Pour référence future, vous pouvez comparer les méthodes de chaînes "Programming Language Examples Alike Cookbook" si vous n'êtes pas clair sur la façon dont quelque chose est écrit en Python par rapport à Groovy (ou à D'autres syntaxes).

Voici les chaînes Python tranchantes http://pleac.sourceforge.net/pleac_python/strings.html

Et voici les chaînes groovy de tranchage: http://pleac.sourceforge.net/pleac_groovy/strings.html

Vérifiez la table des matières Si vous avez besoin de voir d'autres les comparaisons, c'est une bonne référence.

3
répondu tmarthal 2011-06-09 00:34:13