Transformer liste en urls

Fermé
3_mm Messages postés 4 Date d'inscription mardi 14 juin 2016 Statut Membre Dernière intervention 14 juin 2016 - 14 juin 2016 à 10:33
Nexii Messages postés 333 Date d'inscription jeudi 13 mars 2014 Statut Membre Dernière intervention 14 mars 2017 - 14 juin 2016 à 12:30
Bonjour

Et désolé de mettre ça dans "programmation" parce que ça va vous paraître ridicule à faire probablement, mais voilà :

J'ai une longue liste de références (ex d'une réf : 302 33 78 87) et chaque réf correspond à une url dont la structure est example.com/marque/produit/302-33-78-87

Je souhaiterais transformer ma liste de réfs (ds un txt doc ou autre) en une liste de ode html de type liens <a href="http://example.com/marque/produit/302-33-78-87>302 33 78 87</a>

avec un script

merci bcp pour l'aide ! :)
A voir également:

2 réponses

Nexii Messages postés 333 Date d'inscription jeudi 13 mars 2014 Statut Membre Dernière intervention 14 mars 2017 549
14 juin 2016 à 11:08
Bonjour,

Avec quel langage souhaite tu réaliser cela ? Dans quel langage as-tu des compétences plutôt ?
1
3_mm Messages postés 4 Date d'inscription mardi 14 juin 2016 Statut Membre Dernière intervention 14 juin 2016
14 juin 2016 à 11:16
Justement j'en ai aucune :)
Je cherche la façon la plus simple de le faire, j'ai pas mal cherché mais je n'ai rien trouvé de semblable que j'aurai pu bricoler pour atteindre mes résultats...
0
Nexii Messages postés 333 Date d'inscription jeudi 13 mars 2014 Statut Membre Dernière intervention 14 mars 2017 549
Modifié par Nexii le 14/06/2016 à 11:42
Voilà en java :

public class Reference {
 private String reference;
 
 public String getReference() {
  return reference;
 }

 public void setReference(String reference) {
  this.reference = reference;
 }

 public Reference(String reference) {
  this.reference = reference;
 }
}

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Retread {
 public static final String TAG_START ="<a href=\"http://example.com/marque/produit/";
 public static final String TAG_END = "\"</a>";

public static void main(String[] args) throws FileNotFoundException {
  List <Reference> refList = new ArrayList<Reference>();
  File references = new File("src/references.txt");
  if(references.exists()) {
   // Read in the file
   FileReader fr = new FileReader(references);
   BufferedReader br = new BufferedReader(fr);
   String data = null;
  try {
   // While a new line
   while((data = br.readLine()) != null) {
    // Replace spaces by hyphen
    data = data.replace(" ", "-");
    // Save the line in an array
    refList.add(new Reference(data));
   }
    
  } catch (IOException e) {
   e.printStackTrace();
  }
  for(Reference ref : refList) {
   // Create output
   System.out.println(TAG_START + ref.getReference() + TAG_END);
  }
  }
 }
}


Fichier references.txt :

302 33 78 87
405 45 54 98
450 65 98 98
015 32 45 78
765 32 01 78
652 54 87 25
925 65 80 35


Output is :


<a href="http://example.com/marque/produit/302-33-78-87"</a>
<a href="http://example.com/marque/produit/405-45-54-98"</a>
<a href="http://example.com/marque/produit/450-65-98-98"</a>
<a href="http://example.com/marque/produit/015-32-45-78"</a>
<a href="http://example.com/marque/produit/765-32-01-78"</a>
<a href="http://example.com/marque/produit/652-54-87-25"</a>
<a href="http://example.com/marque/produit/925-65-80-35"</a>
0
3_mm Messages postés 4 Date d'inscription mardi 14 juin 2016 Statut Membre Dernière intervention 14 juin 2016
14 juin 2016 à 11:56
Merci beaucoup d'avoir pris le temps, je ne m'y attendais pas !! Des petites précisions :

- pour les liens au final je voudrais obtenir l'ancre du lien sur la réf de type <a href="http://example.com/marque/produit/302-33-78-87">302-33-78-87</a>

- donc j'ouvre un notpad je copie le code, ensuite je dois le compiler ou quelquechose comme ça ? (avoir un exécutable)

- je comprends que je dois créer un fichier txt avec les ref ds le même dossier
0
Nexii Messages postés 333 Date d'inscription jeudi 13 mars 2014 Statut Membre Dernière intervention 14 mars 2017 549
Modifié par Nexii le 14/06/2016 à 12:20
Code corrigé :
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Retread {
 public static final String TAG_START ="<a href=\"http://example.com/marque/produit/";
 public static final String TAG_LT = "\">";
 public static final String TAG_END = "</a>";

public static void main(String[] args) throws FileNotFoundException {
  List <Reference> refList = new ArrayList<Reference>();
  File references = new File("src/references.txt");
  if(references.exists()) {
   // Read in the file
   FileReader fr = new FileReader(references);
   BufferedReader br = new BufferedReader(fr);
   String data = null;
  try {
   // While a new line
   while((data = br.readLine()) != null) {
    // Replace spaces by hyphen
    data = data.replace(" ", "-");
    // Save the line in an array
    refList.add(new Reference(data));
   }
    
  } catch (IOException e) {
   e.printStackTrace();
  }
  for(Reference ref : refList) {
   // Create output
   String cRef = ref.getReference();
   System.out.println(TAG_START + cRef + TAG_LT + cRef + TAG_END);
  }
  }
 }
}


Ouptput :
<a href="http://example.com/marque/produit/302-33-78-87">302-33-78-87</a>
<a href="http://example.com/marque/produit/405-45-54-98">405-45-54-98</a>
<a href="http://example.com/marque/produit/450-65-98-98">450-65-98-98</a>
<a href="http://example.com/marque/produit/015-32-45-78">015-32-45-78</a>
<a href="http://example.com/marque/produit/765-32-01-78">765-32-01-78</a>
<a href="http://example.com/marque/produit/652-54-87-25">652-54-87-25</a>
<a href="http://example.com/marque/produit/925-65-80-35">925-65-80-35</a>


Tu as plusieurs moyen d'exécuter cela, le plus simple est d'utiliser l'IDE Eclipse (tu peux le faire en ligne de commande mais cela t'évitera nombre de paramétrage) :
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/mars/R2/eclipse-inst-win64.exe

Il te faut également installer l'environnement Java, à télécharger ici :
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Dans le premier bloc, ligne "Windows x86" tu as le lien sur la droite de cette ligne.

Une fois Eclipse installé, tu va a gauche dans la fenêtre Package Explorer, clic droit > "New Project", tu lui donne le nom que tu souhaites.
Clic droit sur le dossier "src" du projet, "New" > "Class" et tu la nomme "Reference", tu fais Ok et tu remplace le code par :
public class Reference {
 private String reference;
 
 public String getReference() {
  return reference;
 }

 public void setReference(String reference) {
  this.reference = reference;
 }

 public Reference(String reference) {
  this.reference = reference;
 }
}


Tu refais la même manipulation, clic droit sur "src"> "New" > "Class" et tu la nomme "Retread". Tu remplace tous le code par celui que j'ai mis au début de ce message.

Enfin, tu créer un fichier en faisant sur ton dossier "src" > Clic droit > "New" > "Others" tu cherche "File" puis tu fais "Next", tu met le nom du fichier "references.txt" et le remplir avec tes références.

Ensuite tu as plus qu'à te placer sur la classe "Retread.java" et faire un clic droit dans le code "Run as" > "Java Application" et tu aura ton output dans la console en bas.
1
3_mm Messages postés 4 Date d'inscription mardi 14 juin 2016 Statut Membre Dernière intervention 14 juin 2016
14 juin 2016 à 12:27
C'est très clair, je vais suivre le tout à la lettre.

Merci mille fois pour le temps que tu m'as consacré ; rien que pour taper ces lignes tu as dû passer un bon moment sans parler de celui qu'il t'a fallu pour coder et commenter tout ça.

J'espère qu'un jour quelqu'un qui aura la même problématique pourra également tomber sur ce topic et avoir ta réponse.

Encore merci et très bonne journée à toi !
0
Nexii Messages postés 333 Date d'inscription jeudi 13 mars 2014 Statut Membre Dernière intervention 14 mars 2017 549
14 juin 2016 à 12:30
Je t'en prie.

N'hésites pas si tu rencontre des difficultés, excellente journée.
0