Источник Java имеет много хороших примеров для этого. Вот пример от главы "String.java":
....
* is equivalent to:
* <p><blockquote><pre>
* char data[] = {'a', 'b', 'c'};
* String str = new String(data);
* </pre></blockquote><p>
* Here are some more examples of how strings can be used:
* <p><blockquote><pre>
* System.out.println("abc");
* String cde = "cde";
* System.out.println("abc" + cde);
* String c = "abc".substring(2,3);
* String d = cde.substring(1, 2);
* </pre></blockquote>
...
Может быть, вы могли бы попробовать GATE компонент извлечения именованных объектов? Он имеет встроенные jape списки грамматики и справочника для извлечения имен, фамилий и т. Д., Среди прочего. См. на этой странице.
Лично я бы выбрал регулярные выражения . Вот хорошее вступление . Они быстрые, лаконичные и всегда делают то, что вы хотите.
Если вы хотите оставаться в рамках java sdk, используйте токенизаторы строк .
Немного более низкоуровневым является JavaCC , генератор синтаксического анализатора на основе Java. Вот ссылка на учебное пособие .
Альтернативой javaCC является ANTLR , с которым я лично имел хороший опыт.