|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
[Java] convertire String --> String[]
Ho usato PDF Box per convertire da PDF a String.
La String in questione è molto lunga e va a capo automatico. Come faccio a convertirla in un String[]? di solito uso split(), però che ci metto come parametro? per la riga nuova esiste un parametro?
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Cosenza
Messaggi: 2971
|
Quote:
es: Codice PHP:
Codice:
string[0] = prima riga string[1] = seconda riga string[2] = terza rigaa |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
...sto riscrivendo gran parte del programma. Non ho ancora provato ma sono sicuro che funzioni. In effetti sapevo del "\n", ma non mi ricordavo.
Ti faccio sapere; grazie.
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
Come presumevo, funziona. Ora il problema è un altro. Dopo aver fatto il lavoro descritto sopra, con il metodo println() a video mi ritrovo parte dell'array:
Codice:
[1] V. R. Basili, L. C. Briand, and W. L. Melo. A validation of Trans. Softw. Eng., 22(10):751–761, 1996. Codice:
[1] V. R. Basili, L. C. Briand, and W. L. Melo. A validation of
Trans. Softw. Eng., 22(10):751–761, 1996.
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Cosenza
Messaggi: 2971
|
Quote:
non ho ben capito cosa vuoi fare e cosa stai facendo. spiega meglio e cercherò di aiutarti |
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
Immagino che il problema sia che sotto windows il ritorno a capo è \r\n mentre sotto linux è solo \n (o il contrario, non ricordo mai).
Io fossi in te farei un string.replace("\r", ""); e poi lo split. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
Quote:
ho parsato un PDF con PdfBox ed ho così ottenuto una Stringa con dentro (quasi) tutto il PDF. Essendo interessato alle referenze a fondo pagina, ho dovuto scrivere del codice che andasse a prendere solo determinate righe. Avendo una stringa unica, mi era difficile trovare ed estrarre le referenze, perciò ho prima fatto lo split come spiegato nei primi post per avere un array di stringhe e poi sono andato in cerca delle referenze in base all'inizio di ognuna stringa.
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
...dato che usavo lo "\n" per fare lo split...se faccio prima il replaceAll(), poi come faccio a fare lo split?
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
Funziona, però non ho capito perchè. Puoi spiegarmi con precisione?
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Cosenza
Messaggi: 2971
|
Quote:
Dopo ciò il tuo scopo è creare un XML in cui mettere soltanto le referenze? Che struttura deve avere questo XML? Per arrivare ad avere, a partire da un'unica stringa, soltanto l'ultima parte con le referenze, potresti usare un altro metodo: ottieni l'indice della prima referenza tramite il metodo Codice:
int java.lang.String.indexOf(String str) salvi la sottostringa che va dall'indice appena trovato fino alla fine della stringa, tramite il metodo Codice:
String java.lang.String.substring(int beginIndex, int endIndex) in questo modo ottieni un array di stringhe in cui ogni stringa è una referenza intera (con eventuali endline singoli, come nel tuo esempio) a questo punto puoi rimuovere gli endline all'interno di ogni referenza usando il metodo: Codice:
String java.lang.String.replaceAll(String regex, String replacement) il risultato finale sarà un array in cui ogni stringa è esattamente una referenza, rappresentata come unica linea, che puoi inserire in un XML senza problemi. |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
Quote:
Grazie ad entrambi.
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Oct 2002
Messaggi: 133
|
Non sarebbe meglio usare System.getProperty("line.separator") invece di \n o \r\n??
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Cosenza
Messaggi: 2971
|
Quote:
mentre i sistemi unix e unix-like usano LF apple utilizza solo CR fonte: http://it.wikipedia.org/wiki/Newline resta comunque il consiglio di prima. |
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
Quote:
Il codice attuale: Codice:
private void parsePdf() throws IOException {
PDFTextStripper stripper = new PDFTextStripper();
String text = stripper.getText(this.pdfBoxDocument);
text = text.replace("\r", "");
this.parsedText = text.split("\n");
}
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
|
#16 | ||
|
Senior Member
Iscritto dal: Sep 2004
Città: Cosenza
Messaggi: 2971
|
Quote:
Quote:
quindi \n per sistemi *nix, \r per sistemi Mac, \n\r per sistemi NT |
||
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Cosenza
Messaggi: 2971
|
Quote:
Codice:
this.parsedText = text.split("\n\r");
Codice:
this.parsedText = text.split(System.getProperty("line.separator"));
|
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
...o così, per averlo più leggibile:
Codice:
private void parsePdf() throws IOException {
PDFTextStripper stripper = new PDFTextStripper();
String text = stripper.getText(this.pdfBoxDocument);
String lineSeparator = System.getProperty("line.separator");
this.parsedText = text.split(lineSeparator);
}
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
#19 |
|
Member
Iscritto dal: Aug 2005
Messaggi: 168
|
Perfetto, sono niubbissimo in java e non sapevo si potesse fare così. Grazie.
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Bolzano
Messaggi: 2163
|
Quote:
__________________
Vendo...nulla. Cerco...la felicità. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:52.




















