|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
[JAVA] Formattazione delle stringhe
ragazzi, devo formattare una stringa in questo modo:
Codice:
X00-Y00\n pensavo a creare una maschera, oppure a riempire un vettore....ma spero che ci sia qualcosa nelle librerie (che non trovo).....chi mi aiuta???
__________________
My gaming placement |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
ho trovato in giro per le api (ritrovate
__________________
My gaming placement |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Da Java 5 la classe String (e alcune altre classi di I/O) ha il metodo format() che fa uso internamente di un Formatter (che è la classe che fornisce appunto queste funzionalità di formattazione).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Te lo scrivo io ma dovrei capire meglio che dati (e tipi) devi mettere. Cioè con cosa parti.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
allora, la mia situazione è questa:
io devo inviare una stringa così comp'osta(non mi interessa il tipo di dati che la compongono) Carattere numero numero - carattere numero numero \n ovvero qualcosa del tipo A12-V75\n (dovrò fare dei controlli sui caratteri, ma non ci riguarda al momento ecco, il mio problema è questo: se io mando A8-B25\n oppure B3.c27\n voglio che me li corregga in automatico.....speravo che il format delle string mi potesse aiutare, ma mentre lo uso mi assale il dubbio che ciò non sia possibile, spero che tu possa contraddirmi
__________________
My gaming placement |
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
String s = String.format ("%c%02d-%c%02d\n", ch1, num1, ch2, num2); Quote:
Scusa se sono un po' vago ma in genere devo prima capirle le cose ....
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
si intendevo correggerli in quel modo.......purtroppo la stringa la prendo per intero, quindi String s = String.format ("%c%02d-%c%02d\n", ch1, num1, ch2, num2); non posso usarlo
__________________
My gaming placement |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se è così, allora puoi usare le espressioni regolari, ma bisognerebbe vedere meglio cosa vuoi che sia accettabile o meno. Mi spiego meglio: se ti arriva 789-B25\n, devi correggerlo? (e come?) E se ti arriva A9;C5\n?
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
rettifica, l'ho provato e funziona......o meglio, fa quello che dico io solo se gli passo i 4 vaolri, quindi, a questo punto, mi conviene creare un parser ad hoc e il gioco è fatto
p.s.: mi spieghi una cosa, please.. tratto dalle api %[argument_index$][flags][width][.precision]conversion mentre tu usi solo %c....allora perchè il primo%c riconosce ch1 e così via gli altri ???
__________________
My gaming placement |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
visto, la mia dialetttica migliora ogni giorno di più lol ehehe....quasi quasi mi butto sulle espressioni regolari....anche se credo che non sia necessario.......mi rispondi alla domanda di prima please
__________________
My gaming placement |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
No, in effetti non è strettamente necessario usare le espressioni regolari. Basterebbe estrarre i singoli caratteri e verificare se sono ciò che ti aspetti.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#13 | ||
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Sempre dai javadocs...
Quote:
Quote:
EDIT: Ops, sorry, nn ho visto il post di Andbin e il mio si è "accavallato" al suo :P Ultima modifica di banryu79 : 12-12-2007 alle 17:59. Motivo: ops... |
||
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
grazie ragazzi, gentilissimi come come sempre....se ho problemi vi faccio sapere
__________________
My gaming placement |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
c=char d= digit(int o anche il resto dei "numeri"??) poi ne esistono altri???
__________________
My gaming placement |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Sono tutti spiegati molto ben in dettaglio nella documentazione della classe java.util.Formatter.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
eccoli.....
Codice:
'b', 'B' general If the argument arg is null, then the result is "false". If arg is a boolean or Boolean, then the result is the string returned by String.valueOf(). Otherwise, the result is "true".
'h', 'H' general If the argument arg is null, then the result is "null". Otherwise, the result is obtained by invoking Integer.toHexString(arg.hashCode()).
's', 'S' general If the argument arg is null, then the result is "null". If arg implements Formattable, then arg.formatTo is invoked. Otherwise, the result is obtained by invoking arg.toString().
'c', 'C' character The result is a Unicode character
'd' integral The result is formatted as a decimal integer
'o' integral The result is formatted as an octal integer
'x', 'X' integral The result is formatted as a hexadecimal integer
'e', 'E' floating point The result is formatted as a decimal number in computerized scientific notation
'f' floating point The result is formatted as a decimal number
'g', 'G' floating point The result is formatted using computerized scientific notation or decimal format, depending on the precision and the value after rounding.
'a', 'A' floating point The result is formatted as a hexadecimal floating-point number with a significand and an exponent
't', 'T' date/time Prefix for date and time conversion characters. See Date/Time Conversions.
'%' percent The result is a literal '%' ('\u0025')
'n' line separator The result is the platform-specific line separator
__________________
My gaming placement |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Cmq ringrazio Andbin perchè anche io, come Franksisca, stavo cercando un sistema per formattare delle coordinate (memorizzate come double risultati di calcoli trigonometrici) per stamparle come testo in un file di istruzioni da inviare a un CN...
Le ho provate di tutte prima di leggere questo thread e scoprire String.format() e la classe Formatter Thanks |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:50.




















