2013-04-19 49 views
-4

如何根据?,!拆分文本int语句数组,和。在Java中?如何根据?,!拆分文本的int数组,和。在Java中?

例如,我想将一个字符串中的句子存储到一个超大的数组中。 myArray的[0] =第一句子,myArray的[1] =第二句子和等/

+4

你有没有试图解决这个问题?如果您告诉我们迄今为止已尝试的内容,我们将更愿意回答您的问题。 (提问更好的问题的有用链接:[问],[常见问题]) – Doorknob

回答

1

尝试此正则表达式:

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

说明:

(<=  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

可以使用String.split(regex)方法,像这样的:

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

使用回顾后应该HEL你在句子后保留标点符号。

这是一个小的demo on ideone