Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Modificare una stringa

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    74

    Modificare una stringa

    Mi sono trovato a dover modificare una stringa da cosi:

    codice:
    "Rottura filo posizione 001                                        + 06/09/2011 13.27.24"
    a

    codice:
    "11/10/13;13:06:50;Mod3;TG_TOT:1;TG_MOD:1;TRUE"
    Non guardate i dati perche non sono gli stessi è fatto solo per dare un'idea della formattazione
    La parte "Mod:", è una costante che va inserita cosi com'è
    "TG_TOT:", "TG_MOD:", vanno affiancate al numero "001" cosi da avere il risultato sopra citato
    Il "+" diventa TRUE
    La data deve avere un cambio di formato e altre 2-3 modifiche stupide.
    La parte che mi interessava maggiormente era la scomposizione della stringa e la ricomposizione, io mi sono arrangiato alla brutto dio:

    codice:
    public static void main(String[] args) {
           
            String name = "Rottura filo posizione 001                                        + 06/09/2011 13.27.24";
            String name1 = name.substring(23, 26); //numero tagl
            String name2 = name.substring(66, 67); //true or false
            String name3 = name.substring(68, 78); //data
            String name4 = name.substring(79, 87); //orario
            String name5 = "Mod:X";
            String name6 = "TG_TOT:";
            String name7 = "TG_MOD:";
            String name8 = ";";
            name = name.substring(23);
            java.util.Date dateStandard = null;
            try {
                dateStandard = new SimpleDateFormat("dd/MM/yyyy").parse(name3);
            } catch (java.text.ParseException e) {
                e.printStackTrace();
            }
            String dateFormatted = new SimpleDateFormat("yy/MM/dd").format(dateStandard);
            name3 = dateFormatted;
            name = name3+= name8 += name4+= name8 += name5+= name8 += name6 += name1 += name8 += name7 += name1 += name8 += name2;
            name = name.replaceAll("\\+", "TRUE");
            name = name.replaceAll("\\-", "FALSE");
            name = name.replaceAll("\\.", ":");
            System.out.println(name);
        }
    }
    Potreste dare un occhio e vedere dove si puo modificare in un modo piu decente.
    Thx

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    74
    ehm per funzionare funza tranne che se volete far leggere un file dovete togliere l' "87" oppure vi da un errore.
    codice:
     String name4 = name.substring(79); //orario
    Ma mi domandavo, nel fargli leggere il file intero ci sono delle righe vuote come posso saltare queste righe?
    perche al momento mi da un errore
    codice:
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 26
    	at java.lang.String.substring(String.java:1946)
    	at net.tesiinformatica.infinity.toniForm.ToniFormatter.main(ToniFormatter.java:27)
    Auto risolto con un
    codice:
    if(s.trim().length() == 0) {
    	s.trim();
    	continue;
    }

  3. #3
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Originariamente inviato da Bradley
    codice:
    if(s.trim().length() == 0) {
    	s.trim();
    	continue;
    }
    A che serve il secondo "s.trim()"? A me par di troppo..
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    74
    Hai ragione, l'ho interpretata male asd

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.