I essentially want to split up a string based on the sentences, therefore (for the sake of what I\'m doing), whenever there is a !
, .
, ?
You can use the String.split(String regex) method with parameter "[!.?:;]"
.
The argument of String.split is a regex, so you can create a pattern that matches any of those characters.
s.split("[.!:;?]");
String.split takes a regex to split on, so you can simply:
mystring.split("[!.?:;]");
Guava's Splitter is a bit more predictable than String.split()
.
Iterable<String> results = Splitter.on(CharMatcher.anyOf("!.?:;"))
.trimResults() // only if you need it
.omitEmptyStrings() // only if you need it
.split(string);
and then you can use Iterables.toArray
or Lists.newArrayList
to wrap the output results how you like.