Visualizzazione dei risultati da 1 a 4 su 4

Discussione: sempre replace[mysql]

  1. #1

    sempre replace[mysql]

    altro piccolo problema( almeno spero ) quando faccio il replace di tre ( lettere) con 3( numero) mi viene sostituito tre anche nella parola attrezzatura che mi diventa at3zatura , come evitare ciò e indicare la sostituzione solo di parole intere?

    il mio replace in sintesi
    fixQuotes = REPLACE (theString, "uno","1")
    fixQuotes = REPLACE (fixQuotes , "due","2")
    fixQuotes = REPLACE (fixQuotes , "tre","3")

    grazie

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    ti conviene usare le regular expression
    ti faccio un esempio
    codice:
    stringa = "uno) attrezzatura (uno, due, tre)
    " 
    stringa = stringa &  "due) scrivo tre, due, uno
    " 
    stringa = stringa &  "tre) trentatre trentini entraropno a trento tutti trentatre trotterellando
    " 
    stringa = stringa &  "4) Uno, dUe, tre, TRE, Tre
    " 
    set re = Server.CreateObject("VBScript.RegExp")
    re.Pattern="(^|[^\w])(uno)([^\w]|$)"
    re.Multiline=true
    re.IgnoreCase=true
    re.Global=true
    stringa2 = re.Replace(stringa,"$11$3")
    re.Pattern="(^|[^\w])(due)([^\w]|$)"
    stringa2 = re.Replace(stringa2,"$12$3")
    re.Pattern="(^|[^\w])(tre)([^\w]|$)"
    stringa2 = re.Replace(stringa2,"$13$3")
    Response.Write stringa & "<hr>" & stringa2
    ma poi cosa centra mysql?? :master:

  3. #3
    faccio fatica a capire il tuo esempio, ma sicuramente dipende da me, scrivo mysql perchè è il database con cui lavoro e non sono sicuro che tutti i comandi sql siano sempre gli stessi tipo per access, etc..

    cmq, grazie

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    guarda che non hai mai scritto SQL in questo thread...

    i replace che ho fatto nell'esempio li ho fatti con delle regular expression, se non le hai mai viste è normale che fai fatica capire
    questo pattern
    codice:
    (^|[^\w])(uno)([^\w]|$)
    cerca tutte le stringhe che corrispondono a "uno" con prima e dopo qualcosa di diverso da caratteri alfanumerici
    quello tra parentesi nella regular expression va a finire in $1, $2 e $3
    quindi se la tringa è "prova uno"
    viene individuato " uno" dove
    $1 = " "
    $2 = "uno"
    $3 = "" <--fine stringa
    ed il replace fatto così
    codice:
    stringa2 = re.Replace(stringa,"$11$3")
    fa risultare stringa2="prova 1"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.