Chaîne d'analyse en Java à l'aide d'un Modèle

Je suis en train d'analyser 3 morceaux de l'information à partir d'un String.

Voici mon code:

text = "H:7 E:7 P:10";
String pattern = "[HEP]:";

Pattern p = Pattern.compile(pattern);

String[] attr = p.split(text);

Je voudrais revenir:

String[0] = "7"
String[1] = "7"
String[2] = "10"

Mais tout ce que je reçois est:

String[0] = ""
String[1] = "7 "
String[2] = "7 "
String[3] = "10"

Des suggestions?

  • Pourquoi ne pas les séparer par des espaces d'abord, puis dans chaque index, il suffit de chercher un modèle spécifique, dans votre cas, le ":" et juste obtenir le caractère/s après que, depuis, il suit le même schéma encore et encore.
  • Le format est toujours d'avoir un "H", "E", et "P" dans la succession?
  • Pourquoi ne pas simplement faire une regexp trouver tous les numéros?
  • J'allais suggérer ce qu'Andy n'. Bonne chose que j'ai rafraîchi la page! Si vous analyser chaque chaîne à la recherche pour le côlon, et insérer le résultat dans une Carte, où le texte avant de le côlon est la Clé, et le texte après les deux-points (que vous pouvez d'abord le convertir en Entier/Double) est la Valeur.
  • oui, il sera toujours de H, E, P, dans cet ordre.
  • Quels sont réellement les règles d'analyse que vous souhaitez mettre en place?
  • parce que je n'avais pas pensé à ça. Merci pour l'idée

InformationsquelleAutor Justin | 2012-01-19