Java - Array de strings a partir de parte de un txt

 
Vista:
sin imagen de perfil

Array de strings a partir de parte de un txt

Publicado por Manuel (1 intervención) el 10/01/2016 10:11:39
Resulta que tengo este txt:
1
2
3
4
5
6
0001 #n Pablo Juan Obrador#d C/Major, 10 - Manacor
0002 #n Señor X #d C/Baix, 20 - Montuïri
0003 #n Joana Català Fiol #d C/Moll, 12 - Palma
0004 #n Pedro Ferriol Sabater #d C/Tramuntana, 14 - Biniali
0005 #n Maria Cerdà Pocoví #d C/Albercoc, 3 - Sa Pobla
0006 #n Ignasi Martorell Pulit #d C/Colom, 18 - Puigpunyent
y lo que quiero hacer es meter lo que hay entre #n y #d en un array de strings (un elemento del array por cada linea) y lo que hay de #d al final en otro array de strings de la misma manera. Después, con estos arrays, crear otro txt ya escrito que se autorrellene con cada elemento del array, es decir, tener una plantilla de dicho txt y que me cree uno nuevo con cada elemento del array (uno con los array[0], sotro con los array [1] y así). Hay alguna manera de hacerlo? Me han dicho que se puede hacer con html pero me obligan a hacerlo con txt
Gracias
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: 10
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Array de strings a partir de parte de un txt

Publicado por Marcelo (47 intervenciones) el 11/01/2016 02:58:00
Puedes utilizar expresiones regulares para lograrlo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String filePath = "Aqui va la ruta de tu archivo"
BufferedReader in = new BufferedReader(new FileReader(filePath));
            Pattern p = Pattern.compile("\\#n(.+)\\#d(.+)");
            ArrayList<String> entreNYD = new ArrayList<>();
            ArrayList<String> despuesD = new ArrayList<>();
 
            String line;
            while ((line = in.readLine()) != null) {
                Matcher m = p.matcher(line);
                if(m.find()){
                    entreNYD.add(m.group(1));
                    despuesD.add(m.group(2));
                }
 
            }

En la lista entreNYD se encuentran los strings que están entre #n y d# y en la lista despuesD los que se encuentran luego de #d

Espero te sea útil y cualquier duda quedo a las ordenes
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