begin process at 2008 07 21 01:44:16
1 213 544 membres
13 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Trouver une chaine de caractères entre deux balises [ Archives / Divers ] (CrowEye)

Trouver une chaine de caractères entre deux balises le 23/01/2006 00:36:56

CrowEye
Membre Club

Bonjour,

Je n'utilise pas souvent java ... mais voilà ... en ce moment je l'utilise. Je bloque sur un détail. Lorsque je récupère une page web, j'aimerais bien en extraire le titre. Je me suis penché sur les expressions régulières mais toujours rien, je n'y arrive pas ... Quelqu'un pourrait il m'aider ?

Il faut donc extraire ce qu'il y a entre <title> et </title>.

Merci pour votre aide!
charly


Re : Trouver une chaine de caractères entre deux balises le 23/01/2006 11:13:56

indiana_jules
Salut,
le package javax.swing.text.html comporte des classes qui permet de lire du HTML et d'extraire les balises

Voilà


[#Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
[#Je ne comprends pas tout, mais je parle de tout : c'est ce qui compte]

Re : Trouver une chaine de caractères entre deux balises le 23/01/2006 17:15:52

sheorogath
Membre Club
(Admin CS)
Réponse acceptée !

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.net.MalformedURLException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class HTMLutils {

public HTMLutils(){

}

public static String getHtmlTitleMarkup(String htmlFile){

try {

BufferedReader in = new BufferedReader(new FileReader(new File(htmlFile)));

StringBuilder input = new StringBuilder();

int ch;

while ((ch = in.read()) != -1) input.append((char) ch);

String patternString = "<title>+[^\"]+</title>";

Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);

Matcher matcher = pattern.matcher(input);

while (matcher.find())

{

int start = matcher.start();

int end = matcher.end();

String match = input.substring(start, end);

toreturn = match;

}

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return toreturn.substring(7,toreturn.length()-8).trim();

}

public static String toreturn;

}



"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

Re : Trouver une chaine de caractères entre deux balises le 23/01/2006 17:16:38

sheorogath
Membre Club
(Admin CS)
heuu si t pas content apres ca ... enfin voila quoi ^^

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

Re : Trouver une chaine de caractères entre deux balises le 23/01/2006 17:30:35

CrowEye
Membre Club

désolé pour le retard ! je vais tester ça tout de suite, en tout cas un graaaaaaaaaaaaaaaaaaaaaaaand merci, ça fait plaisir, vraiment !


Re : Trouver une chaine de caractères entre deux balises le 23/01/2006 18:53:41

sheorogath
Membre Club
(Admin CS)
lol c rien mais j'avais trimmer pour arriver a faire ce put1 de code avec les expression reguliere ^^
enfin bon bonne utilisation ^^

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"


Classé sous : trouver, chaine, utilise, caractères, balises

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS