Newsgroup: it.comp.lang.javascript
Titolo: Estrarre l'ultimo carattere di una stringa

Ciao a tutti,
cercavo un sistema per recuperare l'ultimo carattere di una stringa.
Ho tentato con slice() ma succede di tutto... Riesco ad estrarre tutto
tranne l'ultimo carattere!
stringa.slice(-1,-1) ritorna  (nulla)
stringa.slice(-2,-1) ritorna il penultimo carattere!  =: /
Questo accade con Firefox, e tanto mi basta per evitare di perdere tempo
in test con altri navigatori...
Alla fine ho optato per stringa.charAt(stringa.length - 1), ma non c'è
un sistema più elegante che, in un colpo solo, estragga l'ultimo
carattere?
-- 
Mr. Fix @ work

 carattere?
elegante? :-O
se intendi se esiste la differenziazione tra left, right, mid stile vb no,
è inutile, con charAt o substr fai tutto.
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 stringa.slice(-2,-1) ritorna il penultimo carattere!  =: /
E che c'è di strano? E' quello che gli dici di fare. Ah, la reference,
questa sconosciuta.
-- 
~ Il futuro è nelle nostre mani.
Purtroppo.

 questa sconosciuta.
La reference ce l'ho qui sotto gli occhi, ma evidentemente l'ho
interpretata male...
Siccome leggo che per il parametro Start "-1 indica l'ultimo carattere"
e che, per quanto riguarda End, "se l'argomento è negativo spefifica una
posizione misurata dalla fine della stringa", mi pare ci sia qualche
stranezza, forse nella traduzione della reference (Flanagan seconda
edizione)
Effettivamente mi accorgo ora che c'è un esempio con un unico parametro,
anche se positivo...  #^_^#
In pratica indicando End come -1 si arriva al massimo al penultimo
carattere, quindi ne deduco che, specificando i due parametri, non c'è
modo di arrivare ad estrarre l'ultimo carattere.
Il sistema che hai indicato tu immagino indichi Start come -1, quindi
viene estratto l'ultimo carattere, poi la stringa finisce e la funzione
termina il suo lavoro


 è inutile, con charAt o substr fai tutto.
No, no, per carità, VB non lo conosco e manco voglio conoscerlo... : )
Intendevo un modo per estrarre un carattere senza mettere in moto più di
una funzione. Nel mio caso c'era una funzione che analizzava il
risultato di un calcolo matematico tra un parametro della stringa e un
intero. Mi pareva strano che non ci fosse un metodo più immediato...
La soluzione proposta da ZER0 è quella che stavo cercando...


 Argh... L'unica cosa che non ho tentato...
e fortuna che in un altro messaggio in questo stesso thread parlavi di
python :P
-- 
Under construction

 python :P
... che conosco poco, e quando chiedo "cos'ha di speciale 'sto pitone?"
gli amici che lo usano rispondono "è elegante"...  : )
Comunque, per la cronaca, inciampo in queste cavolate quando sono
indietro col lavoro e sento i cani alle calcagna... Riesco a fare
domande incredibili, quindi non stupitevi se prossimamente chiederò
qualche altra banalità...  ; )


 gli amici che lo usano rispondono "è elegante"...  : )
vabe', per dire... per "Estrarre l'ultimo carattere di una stringa" in
python si fa nomestringa[-1] :D
e comunque dire che e' "solo" elegante e' decisamente riduttivo!
-- 
Under construction

 edizione)
Ecco svelato l'arcano. Quella non è la reference. Quando mi riferisco alle
reference del linguaggio, intendo le seguenti:
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsorijscript.asp
La prima per javascript, la seconda per jscript.
Mai riferito, e credo che mai lo farò, a nessun "libro" che millanta di
spiegare una delle due, o peggio ancora, entrambe.
-- 
~ Il lavoro è quel lasso di tempo che intercorre tra una pausa caffè
 e l'altra.

 e comunque dire che e' "solo" elegante e' decisamente riduttivo!
Qui, oltre che andare pesantemente nell'OT, si sconfina decisamente nelle
considerazioni e opinioni altamente personali; e quindi direi di evitare di
proseguire. Almeno, in questa sede. ;)
-- 
~ "D'una città non godi le sette o le settantasette meraviglie,
ma la risposta che dà a una tua domanda." (Italo Calvino)

 La prima per javascript, la seconda per jscript.
Maledetta banda stretta (dial-up)...
D'ora in poi controllerò prima la reference ufficiale online, promesso!
: )


 D'ora in poi controllerò prima la reference ufficiale online, promesso!
Che sia online o meno... basta sia "l'originale". :)
-- 
~ Non ci sono certezze, solo ragionevoli probabilità. (W. Howe)