Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-02-2007, 12:21   #1
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Java e JFlex

Ciao a tutti...
Java e JFlex mi stanno facendo dannare per una cagata...
allora... io ho una stringa in ingresso che, tramite uno scanner JFlex devo passare al parser.
La stringa termina con uno \n, ma al parser viene passato come se fosse \\n, dato che viene stampato a video "\n", anzichè un "a capo" (mi sono spiegato? ).
Allora ho pensato di usare il metodo replace, per sostituire \\ con un solo \... il problema è che non riesco a farla funzionare!!
Codice:
Error in file "scanner.flex" (line 21): 
Unexpected character 
        temp.replace('\\','\');
è l'errore che mi viene fuori... ho già provato un po' tutte le maniere, ma non riesco a capire perchè non funziona... mi potete aiutare?
grazie
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2007, 12:44   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Gandalf_BD
Allora ho pensato di usare il metodo replace, per sostituire \\ con un solo \... il problema è che non riesco a farla funzionare!!
Codice:
Error in file "scanner.flex" (line 21): 
Unexpected character 
        temp.replace('\\','\');
è l'errore che mi viene fuori... ho già provato un po' tutte le maniere, ma non riesco a capire perchè non funziona... mi potete aiutare?
grazie
Il metodo replace() di String ha 2 versioni in overload:

String replace(char oldChar, char newChar)
e
String replace(CharSequence target, CharSequence replacement)

Dal momento che hai messo dei parametri tra apici singoli, in pratica stai usando la prima versione, che è in grado di sostituire 1 solo carattere con 1 altro carattere.
Devi quindi usare la seconda versione, ad esempio con:
Codice:
temp.replace ("\\\\", "\\");
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2007, 13:01   #3
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
EDIT3: ALEEEEEEEEEEEE-OOOOOHOOOOOOOOOOO!!!
ora funziona!! (non chiedetemi perchè...) grazie mille
per i mods: potete chiudere
---------------------------------------------------------

niente... non funziona
cioè... compila tutto alla perfezione, ma poi non sostituisce un bel niente...
vabe'... l'ho risolta andandomi a cercare e sostituire a manina lo \n

EDIT: però è strano... se uso la endsWith() (dato che lo \n è al fondo) lo trova... se uso la replace no!

EDIT2: oh, ma questa è da "Oggi le comiche"!!!
ho provato a usare la replaceAll su un altra lettera della stringa e funziona... se poi la provo su "\n" o "\\n" niente!!
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"

Ultima modifica di Gandalf_BD : 06-02-2007 alle 13:11.
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2007, 13:37   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Gandalf_BD
niente... non funziona
cioè... compila tutto alla perfezione, ma poi non sostituisce un bel niente...
A scanso di equivoci ... non l'ho detto prima ma lo dico adesso: il metodo replace (così come tutti gli altri metodi di String) non tocca minimamente la stringa su cui è invocato! Restituisce una nuova stringa.
Quindi, pur non sapendo come è fatto il tuo codice, dovresti fare ad esempio:

temp = temp.replace ("\\\\", "\\");
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2007, 15:34   #5
Gandalf_BD
Senior Member
 
L'Avatar di Gandalf_BD
 
Iscritto dal: Jun 2004
Messaggi: 760
Quote:
Originariamente inviato da andbin
A scanso di equivoci ... non l'ho detto prima ma lo dico adesso: il metodo replace (così come tutti gli altri metodi di String) non tocca minimamente la stringa su cui è invocato! Restituisce una nuova stringa.
Quindi, pur non sapendo come è fatto il tuo codice, dovresti fare ad esempio:

temp = temp.replace ("\\\\", "\\");
esatto... ha iniziato a funzionare solo quando allocavo una nuova stringa!
grazie ancora
__________________
Gandalf_BD
--------------------------------------------
"When you aim at perfection, you discover it's a moving target"
Gandalf_BD è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Il telescopio spaziale ESA Euclid ha fot...
L'astronauta ESA Sophie Adenot ha provat...
Leica SL3-P: la full frame più ev...
All'interno della capsula Starfall di Sp...
8BitDo Arcade Controller Pro è il...
Dead or Alive 6 Last Round: una chiusura...
DXC e Anthropic insieme per portare l'IA...
Lenovo presenta nuove soluzioni per l'IA...
OVHcloud potenzia la Quantum Platform: i...
Octopus Energy lancia Nook, la sua gamma...
IBM presenta il primo chip al mondo sott...
Qualcomm Dragonfly debutta nel settore d...
Scopa elettrica Proscenic P11 Ultra+ a 8...
Napoli capitale italiana del calcolo qua...
Emma avrebbe dovuto contribuire alla sov...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v