2013-04-19 5 views
-4

Comment diviser un texte en un tableau de phrases basé sur?,! et . en Java?Comment diviser le texte int tableau de phrases en fonction de?,! et . en Java?

Par exemple, je veux stocker des phrases d'une chaîne dans un tableau surdimensionné. myArray [0] = 1ère phrase, myArray [1] = 2ème phrase et etc/

+4

Y a-t-il quelque chose que vous avez fait pour essayer de résoudre ce problème? Nous serons plus disposés à répondre à votre question si vous nous dites ce que vous avez essayé jusqu'à présent. (Liens utiles pour poser de meilleures questions: [demander], [FAQ]) – Doorknob

Répondre

1

Essayez cette regex:

String[] myArray = "sentence! sentence. sentence?".split("(<=[\\!\\?\\.])\\s*") 

Explication:

(<=  lookbehind, to preserve punctuation as in @dasblinkenlight's answer 
[   start category (which would be !, ?, or .) 
\\!\\?\\. punctuation (must be escaped) 
]   end category 
)   end lookbehind 
\\s*  any amount of whitespace 
2

Vous pouvez utiliser la méthode String.split(regex), comme celui-ci :

String[] sentendes = text.split("(?<=[.!?])\\s*"); 

En utilisant lookbehind devrait hel p vous conservez le signe de ponctuation après la phrase. Il s'agit d'un petit demo on ideone.

Questions connexes