Comment puis-je diviser une phrase comme "He and his brother playing football."
en quelques parties comme "He and"
, "and his"
, "his brother"
, "brother playing"
et "playing football"
. Est-il possible de le faire en utilisant Java?Comment diviser une phrase en parties Java?
Répondre
En supposant que les "mots" sont toujours séparés par un seul espace. Utilisez String.split()
String[] words = "He and his brother playing football.".split("\\s+");
for (int i = 0, l = words.length; i + 1 < l; i++)
System.out.println(words[i] + " " + words[i + 1]);
merci, ça marche. Et j'ai encore 1 problème, je peux diviser les phrases en "He", "He et", "et son", "son frère", "frère jouant" et "jouant au football". Je veux obtenir le premier mot puis suivre par d'autres. – cchua
@cchua, Donc, il suffit d'avoir 'words [0]' avant la boucle. – st0le
ok je comprends. Que diriez-vous du "." après le "" football "" – cchua
String str="He and his brother playing football";
String [] strArray=str.split(" ");
for(int i=0;i<strArray.length-1 ;i++)
{
System.out.println(strArray[i]+" "+strArray[i+1]);
}
merci est fonctionne. Et j'ai encore 1 problème, je peux diviser les phrases en "He", "He et", "et son", "son frère", "frère qui joue", "jouer au football" et "football". – cchua
Utiliser un StringTokenizer pour séparer par des espaces ou d'autres caractères.
import java.util.StringTokenizer;
public class Test {
private static String[] tokenize(String str) {
StringTokenizer tokenizer = new StringTokenizer(str);
String[] arr = new String[tokenizer.countTokens()];
int i = 0;
while (tokenizer.hasMoreTokens()) {
arr[i++] = tokenizer.nextToken();
}
return arr;
}
public static void main(String[] args) {
String[] strs = tokenize("Sandy sells seashells by the sea shore.");
for (String s : strs)
System.out.println(s);
}
}
devrait imprimer:
Sandy
vend
seashellspar
les
s ea
rive.
Peut être ou ne pas être ce que vous recherchez.
Je ne comprends pas, pouvez-vous me donner un exemple complet pour l'exécuter. – cchua
@cchua Essayez cela. Il divisera par _spaces_ cependant, pas comme dans la parole. Qu'est-ce que vous essayez de faire avec ça? – iracigt
La chose est que je dois le diviser en 2 mots comme ci-dessus. Plus tard je penserai à un moyen de faire une comparaison avec 2 mots qui est indiqué dans un fichier texte. À l'intérieur du fichier texte contiennent de nombreuses lignes de phrases. – cchua
Vous pouvez le faire en utilisant BreakIterator class et sa méthode statique getSentenceInstance(). Il Returns a new BreakIterator instance for sentence breaks for the default locale
.
You can also use getWordInstance(), getLineInstance().. to break words, line...etc
par exemple:
BreakIterator boundary = BreakIterator.getSentenceInstance();
boundary.setText("Your_Sentence");
int start = boundary.first();
int end = boundary.next();
Iterate over it... to get the Sentences....
Pour plus de détails voir sur ce lien:
http://docs.oracle.com/javase/6/docs/api/java/text/BreakIterator.html
Edité réponse: This is a working code
String sent = "My name is vivek. I work in TaxSmart";
BreakIterator bi = BreakIterator.getSentenceInstance();
bi.setText(sent);
int index = 0;
while (bi.next() != BreakIterator.DONE) {
String sentence = sent.substring(index, bi.current());
System.out.println("Sentence: " + sentence);
index = bi.current();
}
Je ne comprends pas, pouvez-vous me donner un exemple complet pour l'exécuter. – cchua
Intéressant, d'abord entendre parler de cette classe 'BreakIterator'. Je viens de tester, le résultat contient des espaces. par exemple, pour 'Comment vas-tu? ', j'ai eu' 0,3 [comment] 3,4 [] 4,7 [sont] 7,8 [] 8,11 [vous] 11,12 [?] ' –
@ LiuYan 研 研 cela vous dérange partager votre code ici. – cchua
- 1. comment diviser une phrase en swi-prolog
- 2. Diviser une chaîne en parties
- 3. Diviser la chaîne java en parties sages.
- 4. Comment diviser une chaîne en trois parties?
- 5. comment diviser une scène en deux parties?
- 6. Comment diviser une matrice en parties égales?
- 7. Comment diviser une image en 2 parties?
- 8. comment diviser une image en plusieurs parties
- 9. Diviser l'image en parties
- 10. JAVA Diviser un fichier volumineux en plusieurs parties ZIP. Comment?
- 11. Diviser une seule image en quatre parties
- 12. Prolog - diviser une liste en N parties
- 13. Comment puis-je diviser une chaîne hexagonale en deux parties?
- 14. Comment obtenir des parties logiques d'une phrase avec Java?
- 15. Diviser une chaîne en seulement 2 parties
- 16. Comment diviser un littéral en deux parties
- 17. Comment diviser cette chaîne en deux parties?
- 18. Comment diviser tous les objets en parties
- 19. Comment diviser le cercle en parties égales?
- 20. Comment supprimer des parties d'une phrase?
- 21. Comment diviser une application Play en plusieurs parties
- 22. Comment diviser une chaîne en parties - Chiffres romains
- 23. programme Java pour diviser un fichier image en 4 parties
- 24. Diviser le nombre en deux parties
- 25. Comment peut diviser ces symboles « * » dans phrase
- 26. Diviser une chaîne en C en parties séparées
- 27. Diviser un contrôle d'oscillation en parties égales
- 28. Comment diviser un mot d'une phrase en utilisant JQuery
- 29. Comment diviser par programme un fichier vidéo en plusieurs parties?
- 30. Inverser une phrase récursivement en Java
Alors que nous sommes, que voulez-vous dire précisément en divisant une phrase en (a) « peu partie »? Quelles parties? – duskwuff
Le mot magique est délimiteur! – theAlse
J'ai essayé d'utiliser des délimiteurs. Mais je ne peux pas faire pour diviser la phrase comme ci-dessus. – cchua