58 votes

Supprimer les derniers caractères de la variable Java String

Une variable String java dont la valeur est

 String path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf.null"

Je veux supprimer les quatre derniers caractères, c'est-à-dire .null . Quelle méthode je peux utiliser pour diviser.

35voto

Matt Points 602
import org.apache.commons.lang3.StringUtils;

// path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf.null"
StringUtils.removeEnd(path, ".null");
// path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf"

7voto

juergen d Points 85039
path = path.substring(0, path.length() - 5);

5voto

Ali Points 18740

Je suis surpris de voir que toutes les autres réponses (au 8 septembre 2013) impliquent soit de compter le nombre de caractères dans la sous-chaîne ".null" soit de lancer un StringIndexOutOfBoundsException si la sous-chaîne n'est pas trouvé. Ou les deux :(

Je suggère ce qui suit :

 public class Main {

    public static void main(String[] args) {

        String path = "file.txt";
        String extension = ".doc";

        int position = path.lastIndexOf(extension);

        if (position!=-1)
            path = path.substring(0, position);
        else
            System.out.println("Extension: "+extension+" not found");

        System.out.println("Result: "+path);
    }

}

Si la sous-chaîne n'est pas trouvée, rien ne se passe, car il n'y a rien à couper. Vous n'obtiendrez pas le StringIndexOutOfBoundsException . De plus, vous n'avez pas à compter vous-même les caractères dans la sous-chaîne.

4voto

Si vous souhaitez supprimer les 5 derniers caractères, vous pouvez utiliser :

 path.substring(0,path.length() - 5)

(pourrait contenir une erreur ;))

Si vous souhaitez supprimer une chaîne de variable :

 path.substring(0,path.lastIndexOf('yoursubstringtoremove));

(pourrait également contenir une erreur ;) )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X