Java - Meilleure façon de saisir TOUTES les Chaînes de caractères entre deux Chaînes de caractères? (regex?)

Cette question a été mise sur écoute-moi pour un long moment maintenant, mais essentiellement, je suis à la recherche de la façon la plus efficace de saisir toutes les Chaînes de caractères entre deux Chaînes de caractères.

La façon dont je l'ai fait pendant de nombreux mois maintenant est grâce à l'aide d'un tas de temporaire des indices, des cordes, des chaînes, et c'est vraiment salissant. (Pourquoi Java ont pas de méthode native comme String substring(String start, String end)?

Dire que j'ai une Chaîne de caractères:

abcabc [pattern1]foo[pattern2] abcdefg [pattern1]bar[pattern2] morestuff

L'objectif final serait de sortie foo et bar. (Et plus tard à être ajouté dans une JList)

J'ai essayé d'incorporer des regex dans .split(), mais qui n'ont pas été couronnés de succès. J'ai essayé la syntaxe à l'aide de *'s et .'s, mais je ne pense pas que c'est tout à fait ce que mon intention est surtout depuis .split() ne prend qu'un seul argument pour split contre.

Sinon je pense qu'un autre moyen est d'utiliser le Pattern et Matcher les classes? Mais je suis vraiment floue sur la procédure à suivre.

  • Vous voulez absolument utiliser un Matcher pour cela.
  • C'est assez fort de langue en considérant ce qui est possible dans le code. Voir mon one-liner réponse (qui n'utilise pas de matcher!)
  • Et voir mon commentaire sur votre réponse. Juste parce que vous pouvez utiliser quelque chose ne signifie pas que vous devriez.
InformationsquelleAutor Justin | 2012-06-29