PDA

Visualizza la versione completa : (Java) Come individuare un ritorno a capo in una stinga


abcd1000
28-08-2003, 14:39
Ho una stringa txt che contiene del testo catturato da un JTextPane
JTextPane text;
text = editor.getText()

Supponiamo che nel mio JTextPane abbia scritto

text = "bla bla bla (ritorno a capo)
(ritorno a capo)
bla bla (ritorno a capo)
(ritorno a capo)
bla" (ritorno a capo)

Voglio individuare la posizione in cui si trova il primo carattere di ritorno a capo ed ho scritto

int lineEndPosition = text.lastIndexOf('\r', 0);

Però non me lo trova infatti mi restituisce -1

Ho provato anche

int lineEndPosition = text.lastIndexOf('\n', 0);

ma non fa

Cosa sbaglio?

pireda
28-08-2003, 14:42
Prova ad usare indexOF(char c) anziché LastIndexOf

abcd1000
28-08-2003, 15:25
problema no nrisolto mi ritorna sempre -1

forse quando faccio

text = editor.getText();

scompaiono i ritorno a capo?

pireda
28-08-2003, 15:29
Non saprei...
Puoi provare a stampare a video la variabile text e vedere se in qualche modo vengono persi.

abcd1000
28-08-2003, 15:33
ho stampato txt a video e stampa questo

asd asd


asd


i tirotno a capo ci sono, forse non si indivisuano con il \r

che differenza c'è fra \r (carriage return) e \n (new line)?

pireda
28-08-2003, 15:36
Prova a ricercare anziché /n o /r System.getProperty("line.separator")

abcd1000
28-08-2003, 16:03
solito problema restituisce -1
grrrr
il codice è

String text = editor.getText();
int lineEndPosition = text.indexOf(System.getProperty("line.separator"));

pireda
28-08-2003, 16:17
Aspetta un attimo, text è una stringa o un JEditorPane? Nel primo post che hai mandato era un JEditorPane, e in un altro post hai scritto:

String text = editor.getText();

abcd1000
28-08-2003, 16:39
il primo post è sbagliato :)
text è una stringa

pireda
28-08-2003, 17:05
E prima quando ti ho detto di stampare a video hai stampato la stringa text o il contenuto del JEditorPane?

Loading