Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Sostituzione [vb.net]
Forum - C# / VB.NET - Sostituzione [vb.net]

Avatar
antoniol (Normal User)
Pro


Messaggi: 84
Iscritto: 12/07/2006

Segnala al moderatore
Postato alle 19:49
Martedì, 21/08/2007
Questo topic è stato chiuso dal moderatore

Allora il problema è questo in poco che parole

Se io ho una stringa tipo questa: "ababababababababababababbababababababa"

e sostituisco semplicemente con replace:

str = str.replace("aa","1")
str = str.replace("ab","2")
str = str.replace("ba","3")
str = str.replace("bb","4")

Ottengo: "222222222222b222222a"

e quindi mi rimangangono delle lettere a e b, mentre se prendessi due caratteri alla volta avrei:

"2222222222223333333"

Cosi è piu' chiaro?

tuttavia c'è un altro piccolo problema il vocabolario è fatto di stringhe che hanno una lunghezza che varia da 2 a 8 caratteri... Si potrebbe considerare due caratteri e poi se non c'è nel vocabolario considerare 3 caratteri e cosi fino ad 8 dove è sicuro che ci sarà quello che si cerca..

Non so se è troppo difficile da fare...

Grazie buona estate

Ultima modifica effettuata da antoniol il 25/08/2007 alle 15:11
PM
Avatar
antoniol (Normal User)
Pro


Messaggi: 84
Iscritto: 12/07/2006

Segnala al moderatore
Postato alle 16:54
Domenica, 26/08/2007
Grazie a Totem per il codice e per aver risolto come al solito il problema..

dim s as string
dim temp as string
dim values as new hashtable

values.add("ab", 1)
values.add("ba", 2)
values.add("aa", 3)
values.add("bb", 4)

while s.length > 0
  for each comb as string in values.keys
    if s.startswith(comb) then
      temp += values(comb).tostring
      s = s.remove(0, comb.length)
    end if
  next
end while

msgbox(temp)

CIao Grazie TOTEM

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:30
Lunedì, 27/08/2007
Prego :D Come vedi ora riesco a connettermi.

PM