Je suis nouveau à analyser (et à nouveau à Java), alors je veux juste être sûr que je conceptine cela correctement.
J'ai écrit un programme permettant à l'utilisateur de coller du texte dans un champ de texte, puis cliquez sur le bouton "Données d'analyse". Ce bouton analyse le texte de deux pièces de données: un nom et un numéro. P>
Les données de texte sont généralement collées par l'utilisateur dans ce formulaire: p>
john 48915 beth 10431
3 Réponses :
Voici un exemple de mise en œuvre pour votre cas, qui offre plus de contrôle et de plus flexibilité pour accueillir le changement de délimiteurs - et, après la sortie de l'extrait de code ci-dessus - P > john
48915
beth
10431
frank
10112
anne
34887
taserface
90090
bill
56448
Votre problème est que vous êtes USIMG Une solution serait fonctionnant consiste à supprimer simplement la ligne suivante: une solution qui fonctionnerait également est la suivante: p> ceci conduit à la sortie suivante: p> La solution vous donne un peu plus de contrôle sur les lignes et comment analyser le nom et le numéro. P> P> \ n code> comme délimiteur.
Cela conduit au comportement que l'entrée que vous passez à votre scanner n'est délimitée que dans les luges et non comme vous vous attendez également à des espaces blanchisseurs.
analyseur .USéelimiter ("\\ n"); code> p>
John
48915
beth
10431
franc
10112
annane
34887
taserface
90090
facture
56448 code> p>
C'était la conclusion exacte que je suis arrivée après un certain temps de bricolage. Merci beaucoup pour confirmer et prendre le temps
Vous pouvez atteindre cette fonctionnalité avec la méthode de la chaîne renversée, ci-dessous est le même programme et la même sortie que vous le souhaitez.
Je pense que l'utilisateur de l'espace ne peut pas aller à la ligne suivante lors du remplissage de formulaire. p>
Pourquoi ne pas simplement utiliser la méthode
suivante () code> déjà délimitée par WhitSpace?
Je me débarrasserais de
parser.usedelimiter ("\\ n"); code>. Vous vous tirez dessus au pied avec cela.
Utilisez le délimiteur par défaut.
Pardonne à mon ignorance, est une nouvelle ligne considérée comme espagnol par la méthode suivante ()?
WhitSpace Char est blancheur de caractères. Je suis surpris que vous ne vérifiez pas cela au début :)
Il y a tellement de façons de peaufler ce chat et vous devriez expérimenter plusieurs d'entre eux, y compris la lecture dans chaque ligne via
.nextline () code> puis diviser la ligne, vs à l'aide d'objets de scanner imbriqué, un à Lisez chaque ligne du fichier et de l'autre pour analyser chaque ligne obtenue, ....
... oh et aussi vous pourriez analyser le fichier en utilisant Le Java 8 diffuse API .