Also dass du mit indexOf() einen String suchen kannst, weißt du wohl schon. Dann würde ich folgendes vorschlagen (text ist der gesamte String mit allen Beiträgen, search der Suchstring):
Code (Java):
private static final DIVIDER = "---------";
 
public static String getSectionWith(String text, String search) {
    int pos = text.indexOf(search);
    if (pos < 0) {
        return null;
    }
    int begin = text.lastIndexOf(DIVIDER, pos);
    int end = text.indexOf(DIVIDER, pos);
    return text.substring(begin, end + DIVIDER.length());
}

Funktioniert natürlich nur, wenn die Trennzeichen (also die Zeile mit Bindestrichen) immer gleich lang ist, und man davon ausgeht, dass sie nie innerhalb eines Beitrags vorkommt (aber Zweiteres ist bei dem System natürlich sowieso so – Ersteres könnte man mit Regular Expressions umgehen).