Supprimer une partie de la Chaîne qui suit regex match en Java
Je veux supprimer une partie d'une chaîne de caractères qui suit ce qui correspond à mon regex.
Je suis en train de faire une émission de TÉLÉVISION programmes de l'organisation, et je veux couper quoi que ce soit dans le nom de la suite de la saison et l'épisode de marqueur dans la forme SXXEXX où X est un chiffre.
J'ai compris la regex modèle assez facilement pour créer des "[Ss]\d\d[Ee]\d\d" qui doit correspondre correctement.
Je veux utiliser le Comparateur de méthode end() pour obtenir le dernier index dans la chaîne du match, mais il ne semble pas pour travailler comme je pense qu'il devrait.
Pattern p = Pattern.compile("[Ss]\\d\\d[Ee]\\d\\d");
Matcher m = p.matcher(name);
if(m.matches())
return name.substring(0, m.end());
Si quelqu'un pouvait me dire pourquoi cela ne fonctionne pas et de proposer une bonne façon de le faire, ce serait génial. Merci.
OriginalL'auteur Ryan Jackman | 2012-05-25
Vous devez vous connecter pour publier un commentaire.
matches()
essaie de faire correspondre l'ensemble de la chaîne de nouveau le modèle. Si vous voulez trouver votre modèle à l'intérieur d'une chaîne, utilisezfind()
,find()
recherche pour le match suivant de la chaîne.Votre code pourrait être tout à fait le même:
OriginalL'auteur stema
matches
correspond à la totalité de la chaîne, essayezfind()
Vous pouvez capturer le nom ainsi:
Permettra de saisir et imprimer:
OriginalL'auteur Mattias Isegran Bergander
Cela devrait fonctionner
En java (je suis rouillé) ce sera
Espère que cette aide
OriginalL'auteur buckley