C'est probablement une question facile, mais je n'ai pas été capable de le comprendre. Je veux trouver la lettre suivante (A à Z) dans une chaîne après un certain point de la chaîne. Le résultat que je veux d'ici est pour que l'argent de la chaîne soit "5 $. 00" mais NUM2 apparaît toujours comme -1.
String text = "hello$5. 00Bla bla words that don't matter"
int num1 = text.indexOf('$');
int num2 = text.indexOf("[a-zA-Z]" , num1 + 1); // Always results in -1
String money = text.substring(num1, num2);
3 Réponses :
Ceci n'est pas testé, car mon poste de travail n'est pas configuré pour Java 9, mais en utilisant cette version, vous devriez être capable de le faire: Remarque: résultat code > va évaluer à 5 $. 00 code> p> flux
Et puis comment utilisez-vous index code>?
@Scarywombat Merci pour le commentaire, je me suis principalement concentré sur la question du titre, mais j'ai édité ma réponse pour vous concentrer sur le reste de la question.
Merci pour l'aide de tout le monde. J'ai trouvé un moyen de le faire sans utiliser regex. Cela pourrait avoir besoin de travailler plus tard, mais il semble fonctionner. P> P>
Hmm, tellement pour vous aider. Quoi qu'il en soit, que se passe-t-il avec le ' code> Char? Comment gérez-vous le $ code>?
J'ai gardé l'int num1 = text.indexof ('$'); Expliquer que la regex ne fonctionnerait pas avec l'index de l'index était en réalité une aide énorme.
Pour trouver la première lettre suivant un signe code> code> dollar, à l'aide de REGEX, vous pouvez utiliser le regex suivant: explication: p> money = "$5. 00"
string :: indexof code> ne prend pas regex comme paramètreString IndexOf ne prend jamais de regex comme paramètre, il doit s'agir d'une autre chaîne ou une autre chaîne ou une autre marque (Unicode CodePoint), vous devez utiliser de remplacement () ici.
Voir les solutions proposées à un problème similaire ici a>
Votre spécification pourrait être plus claire. Il ressemble à ce que vous voulez est vraiment le premier caractère alphabétique, car le point et l'espace sont des caractères non chiffres.