Java s'valeur entière de la chaîne
Je voudrais obtenir la valeur de l'entier de ma chaîne. Ci-dessous mon exemple.
String strScore = "Your score is 10. Probability in the next 2 years is 40%";
Mais je veux juste obtenir le score qui est de 10. Comment puis-je faire cela?
Mise à JOUR:
String firstNumber = strScore.replaceFirst(".*?(\\d+).*", "$1");
bfLog.createEntry( firstNumber );
Je la garde pour la base de données sqlite.
substring()
etindexOf()
?- Est-ce de la chaîne statique? C'est à dire. est-il toujours dans ce format?
- En ajoutant à Fra.Trouvé - peut-être une regex avec la logique, si vous nous dites ce que c'est.
- Hmm la seule chose qui change ici, c'est le score. Dire que le score est de 26. Et la prochaine score est de 7.
- Hm avant de l'analyser jusqu'à la dot, obtenir la première partie, puis de l'analyser à nouveau en fonction de l'espace vide pour obtenir la dernière
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser l'un des
String
regexreplace
méthodes pour capturer les premiers chiffres dans un groupe capturé:.*?
consomme initiale non chiffres(non-greedy)(\\d+)
Obtenir l'un ou plusieurs chiffres disponibles dans un groupe!.*
Tout le reste (gourmand).Strings
sont immuables. Êtes-vous à l'aide de la nouvellement crééefirstNumber
Sting
plutôt questrScore
?createEntry
est en train de faire. Pouvez-vous imprimerfirstNumber
en premier?String
. Le ci-dessus regex fonctionne avec le format donné dans la questionCela dépend si rien d'autre ne peut changer dans votre chaîne.
Si c'est toujours la même à l'exception du nombre, vous pouvez utiliser
parce que les chiffres "10" sont à l'index 14 et 15 de la chaîne.
Si d'autres choses changements dans votre chaîne, vous devez utiliser une expression régulière :
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html
Vous pouvez essayer ceci: