Java - Java subtraer texto

 
Vista:
sin imagen de perfil

Java subtraer texto

Publicado por Carla (6 intervenciones) el 25/04/2018 09:42:10
Hola !!!
Es una pregunta un poco tonta pero quizas alguien pueda echarme una mano

Quiero substraer de una URL la referencia solamente
Por ejemplo de esta URL =
1
"https://www.amazon.es/Lenovo-YOGA-520-14IKB-Ordenador-convertible/dp/B071WBF4PZ/"

Quiero solamente la referencia que seria B071WBF4PZ

Tambien de esta parte
1
"<div id="cerberus-data-metrics" style="display: none;" data-asin="B078ZYX4R5" data-asin-price="1479.00" data-asin-shipping="0" data-asin-currency-code="EUR" data-substitute-count="0" data-device-type="WEB" data-display-code="Asin is not eligible because it has a retail offer" ></div>"

Solamente quiero el precio de url, 1479.00, que esta entre los tags de " data-asin-price="1479.00"

Se que se puede hacer con un indexOf, un substring, y un split pero no me aclaro.!
Muchas gracias un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 90
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Java subtraer texto

Publicado por Simon (25 intervenciones) el 25/04/2018 18:48:29
1
String sb = url.substring(url.lastIndexOf("/",url.lastIndexOf("/")-1)+1, url.lastIndexOf("/"));

con esto deberia irte bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Java subtraer texto

Publicado por Carla (6 intervenciones) el 25/04/2018 18:51:56
Buenas simon! mil gracias
el unico problema es que la obtencion de esa URL lo estoy haciendo asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public void descargarURL() {
        try{
            URL url = new URL("https://www.amazon.es/MSI-Titan-GT73EVR-7RD-1027XES-Ordenador/dp/B078ZYX4R5/ref=sr_1_1?ie=UTF8&qid=1524239679&sr=8-1");
            BufferedReader lectura = new BufferedReader(new InputStreamReader(url.openStream()));
            File archivo = new File("descarga2.txt");
            BufferedWriter escritura = new BufferedWriter(new FileWriter(archivo));
            BufferedWriter ficheroNuevo = new BufferedWriter(new FileWriter("nuevoFichero.txt"));
            String texto;
 
            while ((texto = lectura.readLine()) != null) {
                escritura.write(texto);
 
                }
            lectura.close();
            escritura.close();
            ficheroNuevo.close();
            System.out.println("Archivo creado!");
            //}
 
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    }
    public static void main(String[] args) throws FileNotFoundException, IOException {
        Paginaweb2 pg = new Paginaweb2();
        pg.descargarURL();
    }
}

Entonces al ser una URL no me deja hacerle un split ni un indexOf, alguna sugerencia???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 90
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Java subtraer texto

Publicado por Simon (25 intervenciones) el 26/04/2018 18:12:23
mm no sabria decirte, prueba con esto:
1
String sb = (String) url.metodo que llame a la url
si no te funciona asi no sabria decirte (tampoco estoy muy seguro de si esto se puede hacer para un String)
y despues le haces el codigo anterior a este String
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Java subtraer texto

Publicado por Carla (6 intervenciones) el 26/04/2018 20:05:03
Eso ya esta solucionado, ahora me falto lo otro, que del txt creado recoja
esta parte de codigo
1
<div id="cerberus-data-metrics" style="display: none;" data-asin="B078ZYX4R5" data-asin-price="1479.00" data-asin-shipping="0" data-asin-currency-code="EUR" data-substitute-count="0" data-device-type="WEB" data-display-code="Asin is not eligible because it has a retail offer" ></div>

y solamente me saque el precio es decir 1479.00
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar