Visualizzazione dei risultati da 1 a 9 su 9

Discussione: RegExp e ASP

  1. #1

    RegExp e ASP

    Ho cerato in giro ma una questione forse così semplice nn l'ha trattata nessuno!

    Fate conto che vado d'accordo + con mia madre ke con le RegExp

    Vorrei che una parola come "contro" (scritto in ogni maniera possibile, tipo Contro, CONTRO, COntRo, ...) venisse sostiruita con "vs".
    Il problema è quando incontra parole come "incontro" oppure "controllo", nelle quali NON deve effetture alcuna modifica!

    avevo pensato a mettere ^ davanti al contro...ma nn effettua alcuna modifica.

    In questo modo:
    codice:
    Set changvs = New RegExp  				 
    changvs.Pattern = "contro"				
    changvs.Global = True
    changvs.IgnoreCase = True											
    strtemp = changvs.Replace(strtemp, "vs")
    ma sostituisce tutto "contro"
    incontro -> invs


  2. #2
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    edito che mesà che ho detto na castroneria
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  3. #3
    ?????
    Kè hai detto????
    :master:

  4. #4
    nessuno mi sa dare qualche aiutino????

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    Set changvs = New RegExp  				 
    changvs.Pattern = "contro"				
    changvs.Global = True
    changvs.IgnoreCase = True											
    strtemp = changvs.Replace(" "& strtemp &" ", "vs")
    E' solo una ipotesi.

  6. #6
    Secondo me nn va bene xkè se Contro è contornato da punteggiatura non sostituisce contro con vs

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ok ma devi definirgli in quale caso sostituire ed in quali no altrimenti come fa a saperlo?

    Roby

  8. #8
    ma nel tuop esempio non gli hai per caso detto: se trovi " contro " (nota gli spazi!) sostitisci con "vs".
    Secondo te dovrei fare una cosa del tipo:
    codice:
    strtemp = changvs.Replace(" "& strtemp &".", "vs")
    strtemp = changvs.Replace(" "& strtemp &",", "vs")
    strtemp = changvs.Replace(" "& strtemp &";", "vs")
    strtemp = changvs.Replace(" "& strtemp &":", "vs")
    etc????
    ho scritto un esempio banale, cioè secondo te dovrei per ogni caso scrivere come comportarsi???
    ma se c'è una cosa del tipo:
    1contro1 come faccio a farlo sostituire a 1vs1???

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao a tutti,

    per una cosa così credo tu debba fare un ciclo per ogni corrispondenza trovata... tipo così
    codice:
    strtemp = "incontro di calcio 5contro5, Contro tutti e contro..."
    Response.Write strtemp & "
    "
    
    Set changvs = New RegExp  				 
    changvs.Pattern = "[^a-z]contro[^\a-z]"
    changvs.Global = True
    changvs.IgnoreCase = True											
    set ris = changvs.Execute(strtemp)
    inizio=1
    For Each rr in ris
      fine = rr.FirstIndex-inizio+1
      strtemp2 = strtemp2 & Mid(strtemp,inizio,fine) & Replace(LCase(rr.value),"contro","vs")
      inizio = rr.FirstIndex+Len(rr.value)+1
    Next
    strtemp2 = strtemp2 & Mid(strtemp,inizio)
    Response.Write strtemp2

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 © 2025 vBulletin Solutions, Inc. All rights reserved.