Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    caratteri in stringa (vb)

    c'è un modo per scoprire quante volte un gruppo di
    caratteri è contenuto in una stringa?
    ho provato con:

    codice:
    Function quantevolte(dovecercare, cosacercare)
    Dim Position As Integer
    Dim num As Integer
    Dim pos As Integer
    Dim quante As Integer
    For Position = 1 To Len(dovecercare)
    pos = InStr(Position, dovecercare, cosacercare)
    
    If pos = num Then
    
    Else
    quante = quante + 1
    num = pos
    End If
    
    d.Text = quante
    Next
    End Function
    ma funziona solo per caratteri singoli e non per più di un carattere


    grazie

    ciao
    E poi Martina lavava l'anitra miope!

    Pi greco

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    scusami ma non mi ricordo la definizione della funzione InStr: parla SOLO di singoli caratteri? Non parla di stringhe? :master:

    msdn docet
    Returns the position of the first occurrence of one string within another.

  3. #3
    la stringa da cercare con instr può anche essere "MJgbyfgyucvuyt ftftf"

  4. #4
    codice:
    Public Function QuanteVolte(sDoveCercare As String, sCosaCercare As String) As Integer
    Dim i As Integer
    Dim iMax As Integer
    Dim booFiniti As Boolean
       Do Until booFiniti = True
          i = i + 1
          If i > Len(sDoveCercare) Then
             booFiniti = True
             Exit Do
          End If
          i = InStr(i, sDoveCercare, sCosaCercare)
          If i > 0 Then
             iMax = iMax + 1
          Else
             booFiniti = True
             Exit Do
          End If
       Loop
       QuanteVolte = iMax
    End Function
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da xegallo
    codice:
    Public Function QuanteVolte(sDoveCercare As String, sCosaCercare As String) As Integer
    Dim i As Integer
    Dim iMax As Integer
    Dim booFiniti As Boolean
       Do Until booFiniti = True
          i = i + 1
          If i > Len(sDoveCercare) Then
             booFiniti = True
             Exit Do
          End If
          i = InStr(i, sDoveCercare, sCosaCercare)
          If i > 0 Then
             iMax = iMax + 1
          Else
             booFiniti = True
             Exit Do
          End If
       Loop
       QuanteVolte = iMax
    End Function



    InStr(x, StringaInCuiCercare, "AxzdiknpoweRDFIOJAOE")

  6. #6
    Originariamente inviato da darkblOOd





    InStr(x, StringaInCuiCercare, "AxzdiknpoweRDFIOJAOE")
    :master:
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da xegallo
    :master:
    :gren:

    era per dire!

    Se c'è una funzione che già svolge quel compito, perchè ti ammazzi a scriverne una tu? A meno che non ci vuoi fare capire che lavori in MS e che sei l'autore della func.... :gren:


  8. #8
    Originariamente inviato da darkblOOd


    :gren:

    era per dire!

    Se c'è una funzione che già svolge quel compito, perchè ti ammazzi a scriverne una tu? A meno che non ci vuoi fare capire che lavori in MS e che sei l'autore della func.... :gren:

    istr ti da la posizione del primo carattere della striga "AxzdiknpoweRDFIOJAOE"
    se la stringa fosse :
    "zjkgkifdsigAxzdiknpoweRDFIOJAOEklhrrhdfAxzdiknpow eRDFIOJAOEAxzdiknpoweRDFIOJAOEllyotrhyhuiorAxzdikn poweRDFIOJAOEklujgherAxzdiknpoweRDFIOJAOE" quale sarebbe il risultato?
    la mia func ti ritorna un numero che è il numero di volte che trova la stringa che è esattamente quello che voleva Fisica
    poi se noti quella funzione l'ho usata pure io
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  9. #9
    così è + semplice, prova.....

    Dim CosaCercare As String
    Dim i As Integer
    Dim posizione As Integer
    Dim offset As Integer
    Dim DoveCercare As String

    DoveCercare = "AABCDAAFCAAAA"
    CosaCercare = "AA"

    offset = Len(CosaCercare)
    posizione = 1

    While Not posizione >= Len(DoveCercare)
    If InStr(posizione, DoveCercare, CosaCercare) > 0 Then
    i = i + 1
    posizione = InStr(posizione, DoveCercare, CosaCercare) + offset
    Else
    posizione = posizione + 1
    End If

    Wend


    MsgBox i
    you'll never walk alone ....

  10. #10
    in effetti mi serviva esattamente quello.

    grazie a tutti

    ciao
    E poi Martina lavava l'anitra miope!

    Pi greco

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.