Entfernen Sie einen Teil des Strings nach einer Regex-Übereinstimmung in Java

Ich möchte einen Teil eines Strings entfernen, der meiner Regex entspricht.

Ich versuche, ein Organisationsprogramm für Fernsehsendungen zu erstellen, und ich möchte den Namen nach dem Staffel- und Episodenmarker in der Form SXXEXX abschneiden, wobei X eine Ziffer ist.

Ich habe das Regex-Modell ziemlich leicht verstanden, um "[Ss] \ d \ d [Ee] \ d \ d" zu erstellen, das richtig passen sollte.

Ich möchte die Matcher-Methode end () verwenden, um den letzten Index in der Zeichenfolge des Matches abzurufen, aber es scheint nicht so zu funktionieren, wie ich es mir vorgestellt habe.

Pattern p = Pattern.compile("[Ss]\\d\\d[Ee]\\d\\d");
Matcher m = p.matcher(name);

if(m.matches())
    return name.substring(0, m.end());

Wenn mir jemand sagen könnte, warum dies nicht funktioniert, und einen geeigneten Weg vorschlagen könnte, wäre das großartig. Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage