ciao, come posso modificare:
stringa = replace(sValue, "%3A", ":")
in modo tale che oltre ai due punti faccia il replace anche di altri caratteri?
ciao, come posso modificare:
stringa = replace(sValue, "%3A", ":")
in modo tale che oltre ai due punti faccia il replace anche di altri caratteri?
Potresti fare una funzioni che accetta 2 parametri,
un dictionary che contiene come Key il caratattere da sostituire
e come Item il carattare da usare per la sostituzione,
la stringa su cui applicare il tutto.
Ciclare sul dictionary e applicare il replace alla stringa in base al dictionary ... un esempio è meglio
codice:Set objDic = server.createobject("Scripting.Dictionary") 'Aggiungo i caratteri ovviamente ho inventato objDic.Add "%3A", ":" objDic.Add "%3B", ";" objDic.Add "%2C", "(" 'la mia stringa vStr="Stringa %3A di %3B prova %2C " vStr = myReplace(objDic, vStr ) 'la mia funzione function myReplace(OggettoDictionary, Stringa) ' Recupero le chiavi che sono i caratteri da sostituire a = OggettoDictionary.Keys 'Ciclo su ogni chiave For i = 0 To OggettoDictionary.Count -1 'Replace Stringa = Replace(Stringa, a(i), OggettoDictionary.Item(a(i))) Next myReplace = Stringa end function
Ciao, se non ho capito male, potresti fare una cosa del genere:Originariamente inviato da meganoide
ciao, come posso modificare:
stringa = replace(sValue, "%3A", ":")
in modo tale che oltre ai due punti faccia il replace anche di altri caratteri?
stringa=replace(replace(sValue, "%3A", ":"),"%3A", ";"))
in pratica fai il replace in cascata...![]()
Jupy
non va con nessuno dei due casi: nella funzione di deivnet mostra sempre la stringa così com'è e nel replace in cascata dà l'errore: Expected end of statement
questo errore lo da perchè molto probabilmente hai sbagliato a scrivere il repalce in cascata.. prova a controllare se hai messo le parentesi bene e inserito ogni parametro al suo posto...
altrimenti funziona, provato sul campo!!![]()
Jupy
c'è una tonda in più (o in meno)
Non è una soluzione elegante ma giusto perchè tu non perda tempostringa = replace(sValue, "%3A", ":")
basta che chiami più volte la funzione replace.
stringa = "Tutto il testo della tua stringa"
stringa = replace(stringa, "%3A", ":")
stringa = replace(stringa, "%2F", " ")
etc
A questo punto, la soluzione "elegante", che penso tu sia in grado di creare è un ciclo for che viene eseguito n volte (dove n è il numero di caratteri che vuoi sostituire). Tali caratteri li potresti inserire all'interno di un array bidimensionale.
ciao
si, se hai usato l'esempio che ti ho fatto io, allora si, alla fine c'è una parentesi in più..Originariamente inviato da meganoide
c'è una tonda in più (o in meno)toglila e vedrai che funzia
Jupy
hehehe l'hai scritto tu con una parentesi chiusa in piùOriginariamente inviato da Jupy64
questo errore lo da perchè molto probabilmente hai sbagliato a scrivere il repalce in cascata.. prova a controllare se hai messo le parentesi bene e inserito ogni parametro al suo posto...
altrimenti funziona, provato sul campo!!![]()
![]()
codice:stringa=replace(replace(sValue, "%3A", ":"),"%3B", ";")![]()
eccoOriginariamente inviato da Jupy64
si, se hai usato l'esempio che ti ho fatto io, allora si, alla fine c'è una parentesi in più..toglila e vedrai che funzia
![]()