J'essaie d'extraire les mots former un paragraphe / une chaîne. Je l'ai cherché beaucoup d'où mais je n'ai pas trouvé de matériel relatif. Je veux extraire des mots de longueur 4 de
P> P> P> P> P> P> P> P> P> P> P> P> P> m Essayer d'extraire en utilisant P> [want, have, alot, when]
5 Réponses :
vous voulez le faire avec regex? p>
Parce que vous n'avez pas mis le "()" qui indique un groupe, comme vous l'appelez "m.group ()", vous avez besoin de cette syntaxe. P>
Travailler votre regex ici: Regex101 . Après cela, mettez-le dans votre programme Java. P>
Vous pouvez aussi bien diviser la chaîne avec de l'espace blanc et filtrer la matrice résultante avec uniquement les éléments avec la longueur souhaitée. P>
Le moyen plus simple d'obtenir le résultat:
List<String> words=new ArrayList<String>(); String s="I want to have alot of of moneys when I am older probably"; String str[]=s.split(" "); for(int i=0;i<str.length;i++) { if(str[i].length()==4) words.add(str[i]); } System.out.print(words);
Essayez: [veux, avoir, beaucoup, quand] code> p>
\ b code> correspond à une limite de mot. li>
ol> p>
Merci Bro Votre réponse a également travaillé mais je suis tenu d'accepter le premier arrivé en premier service. Mais vous méritez +1
@IRFANAKRAM HEHE SANS PROBLÈME BRO. Je suis tombé un peu en retard parce que je voulais résoudre votre problème avec regex uniquement depuis que vous utilisiez cela dans votre question. Quoi qu'il en soit, merci pour un uppote. Plus de chance la prochaine fois!!!
Vous avez besoin de regarder derrière et de regarder en avant dans votre regex
votre original: p> avec regarder devant vous et regarder derrière: p> Maintenant que les regards et les parandes ont été ajoutés, il pourrait y avoir un problème avec le début et la fin de la chaîne ne correspondant pas. Ajoutez un espace des deux côtés de la chaîne correspondante et doit fonctionner P> P>
Une solution qui utilise le Stream api Le texte est divisé en mots individuels.
Seuls les mots dont la longueur est 4 passant par le filtre.
Tous les mots de quatre lettres sont collectés dans une liste. P> p>
Les mots peuvent contenir des chiffres ou non?
Juste changer {4,} à {4}
Oui, il peut contenir des chiffres aussi
@Radheankit - voir ma question mise à jour
Je pense que vous devez probablement ajouter des look-up et de l'aspect afin de vous assurer qu'il existe un caractère blancheur (ou un début ou une fin) séparant le mot
Javascript.info/regeXP-Lookhead-LookBehind
@Controlaltdel - Cher pouvez-vous taper du code pour obtenir le problème résolu?
Pas un bug, mais ne devrait-il pas être "argent" dans la phrase? Et "beaucoup" est deux mots.