Java: Obtenir une sous-chaîne d'une chaîne commençant après un caractère particulier
J'ai une chaîne de caractères:
/abc/def/ghfj.doc
J'aimerais extraire ghfj.doc
de cela, c'est à dire la sous-chaîne de caractères après le dernier /
, ou de la première /
à partir de la droite.
Quelqu'un pourrait-veuillez fournir de l'aide?
- regardez, je comprends la valeur de la recherche de la réponse vous-même avant de poser des questions, mais le fait de la question est que cette question fait ma recherche beaucoup plus facile.. exactement ce que je voulais après le premier coup. Plus rapide que la consultation de la documentation javadoc. Il est bon que cette question est ici. Pourquoi les downvotes?
- Bien que ce soit un peu différent de l'original de votre question: Dans votre exemple, org.apache.commons.io.FilenameUtils.getBaseName est beaucoup plus fiable que de faire votre propre chaîne des opérations.
- Je suis entièrement d'accord avec votre commentaire, car c'était le premier résultat Google pour ma question et l'on a accepté la réponse est exactement ce que je devais utiliser.
Vous devez vous connecter pour publier un commentaire.
Très simple de mise en œuvre avec
String.split()
:qu'avez-vous essayé?
c'est très simple:
Une autre façon est d'utiliser des cette.
Si vous passez la valeur null à cette méthode retourne null. Si aucune correspondance n'est trouvée avec le séparateur elle renvoie la chaîne vide.
Vous pouvez utiliser Apache commons:
Pour substring après la dernière occurrence utilisation cette méthode.
Et pour la sous-chaîne après la première occurrence méthode équivalente est ici.
Cela peut également obtenir le nom de fichier
Imprime
ghfj.doc
Dans Kotlin vous pouvez utiliser
substringAfterLast
, la spécification d'un délimiteur.De la doc:
Avec Goyave ce faire:
Éventuellement configurer le
Splitter
et l'utilisationÉgalement prendre un coup d'oeil dans cet article sur goyave Splitter et cet article sur goyave Iterables
Je pense que ce serait mieux si nous utilisons directement la fonction de répartition