Parsowanie zawartości pliku txt.

0

Witam.

Mam plik txt który wczytuję w następujący sposób

public static void main(String[] args) throws FileNotFoundException {

		String filePath = "P:\\przyklad.txt";
		 
        System.out.println( usingBufferedReader( filePath ));

	}
	
    private static String usingBufferedReader(String filePath)
    {
        StringBuilder contentBuilder = new StringBuilder();
        try (BufferedReader br = new BufferedReader(new FileReader(filePath)))
        {
 
            String sCurrentLine;
            while ((sCurrentLine = br.readLine()) != null)
            {
                contentBuilder.append(sCurrentLine).append("\n");
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return contentBuilder.toString();
    }

jestem w stanie dostać się do zawartości jednego wiersza i go wyświetlić
ale nie mogę sobie poradzić z wyciągnięciem fragmentu tekstu.
próbowałem dostać się do danych w wierszu substringiem np. contentBuilder.append(sCurrentLine.substring(1, 9)).append("\n"); ale nie zwraca mi oczekiwanych wartości.

W jaki sposób mogę na przykład z zawartości wiersza wyciągnąć np. tylko datę, lub pobrać fragment tekstu od znaku x do znaku y?

Drugie pytanie to w jaki sposób mogę oszacować wysokość wiersza (ilość linii danych w wierszu) na bazie przykładowych danych gdzie pierwszy wiersz ma dwie linie tekstu. Tekst z paru linii powinienem pobrać jako jeden ciąg znaków. a następnie w oddzielnych kolumnach datę i kwoty?

Oczywiście tekst jest w kolumnach.

05/05/19   PL15413216545132156465515512 Przelew własny           05/05/14                  4,60                  4,60
                    przekazanie środków
05/05/19   Opłata za prowadzenie rach.                                               05/05/14                 -2,01                   2,40
27/05/19   PL15421215451231215131515451 Przelew własny           27/05/14              515,33            1.617,10
                    przekazanie środków
27/05/19   djnjcscjshjncncjfjnc,nc kdnvsnx,mc kjnvs                             27/05/14             -500,00                 17,75

Dzięki za pomoc.

0

W jaki sposób mogę na przykład z zawartości wiersza wyciągnąć np. tylko datę, lub pobrać fragment tekstu od znaku x do znaku y?

Odpowiednie wyrażenie regularne może tutaj pomóc - tworzysz obiekt Pattern, potem Matcher i z niego wyciągasz capture groups

1 użytkowników online, w tym zalogowanych: 0, gości: 1