[Java] Extraire chaine

azertyuiop -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

J'ai un soucis bien classique mais je ne trouve aucune info qui m'avance en fouillant...

Dans une variable String j'ai quelque chose comme ça:

org.blabla.bidule.machin.truc

Je voudrai n'extraire que ce qu'il y a après le dernier point, soit "truc" ici, tout en sachant que tout ce qu'il y a avant peut changer... Et que je suis plutôt très mauvais en regex...

donc si quelqu'un a une idée!! Merci!
A voir également:

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Il faut savoir chercher au bon endroit : dans la Javadoc de String !
Il n'y a même pas besoin de manipuler des expressions régulières pour faire ça...
Tu auras besoin de String.lastIndexOf(String str) et String.substring(int beginIndex)
1
Leviathan49 Messages postés 267 Statut Membre 70
 
Autre piste la fonction split http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split%28java.lang.String%29
Ex:
String str = "test1.test2";   
String[] tmp;   

tmp = str.split("[.]");   
for(int i =0; i < tmp.length ; i++)   
     System.out.println(tmp[i]);   
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Sauf que cela ne marchera pas... car String.split(String) utilise des expressions régulières.
Donc split(".") ne fera pas ce qu'il faut... il faudrait plutôt utiliser split("[.]")
Mais utiliser les expressions régulères semble poser problème à azertyuiop (et pas que ^^) et en plus c'est assez lourd à utiliser alors que la manipulation de String suffit...
0