Mi riferivo non alla mia domanda ma ... ho visto che hai inteso.
Riguardo Like eccone un suo possibile uso:
Public Sub Main()
Dim s As String = "Scrivo una frase qualunque all'interno della quale devo trovare un riscontro"
Dim ss As String[]
ss = Split(s, " ")
For Each s In ss
If s Like "qual*" Then Print s
Next
End
Però dovresti essere un tantino più intraprendente perchè di esempi nel forum e dintorni ve ne sono a iosa
grazie infinite per l esempio , pensa che avevo visto like e creedevo ritornasse solo il true o il false , pensa some sono messo :D
Infatti, restituisce proprio True se trova riscontro nell'espressione e viceversa, di seguito il codice precedente commentato:
Public Sub Main()
' Passo alla variabile s una stringa mentre la presento a Gambas.
Dim s As String = "Scrivo una frase qualunque all'interno della quale devo trovare un riscontro"
Dim ss As String[] ' vettore dinamico di tipo stringa che userò per incamerare i valori dati da Split
ss = Split(s, " ") ' Separo la stringa in tante stringhe usando come separatore lo spazio fra una parola e l'altra.
For Each s In ss ' Ciclo le parole una alla volta confrontandole con l'espressione qual* che significa "qual" seguito
' da un qualunque numero si caratteri (anche nessuno).
If s Like "qual*" Then Print s ' Se Like trova riscontro (true) stampo la parola in s che in quanto "variabile" assume il valore di una parola (alla volta).
Next
End
Guarda che per lo studio della programmazione ci vuole molta pazienza e la costanza di provare e riprovare perché solo sbagliando si impara.
Comunque gli esempi della guida sono validi ce n'è uno semplice ed uno complesso giusto per instradarci.
Il primo, quello semplice, va scritto così:
Public Sub Main()
Dim re As Regexp
re = New Regexp("La veloce volpe bruna salta oltre il cane pigro", "bruna (\\S+)")
Print "L'espressione regolare zero da come risultato: "; re[0].Text
Print "L'espressione regolare uno da come risultato: "; re[1].Text
End
Mentre l'altro:
Public Sub Main()
Dim sDiskIO, sVal As String
Dim cVal As New Collection
Dim rMatch As New RegExp
' get disk I/O stats
Exec ["vmstat", "-D"] To sDiskIO
For Each sVal In ["total reads", "read sectors", "writes", "written sectors"]
rMatch.Compile("^\\s*(\\d+)\\s+" & sVal, RegExp.MultiLine)
rMatch.Exec(sDiskIO)
If rMatch.Count = 1 Then
cVal[Replace(sVal, " ", "_")] = rMatch[1].Text
Else
Error.Raise("Missing '" & sVal & "' in 'vmstat -D' output")
Endif
Next
Print "total reads: " & cVal!total_reads & " read sectors:" & cVal!read_sectors
Print "writes: " & cVal!writes & " written sectors: " & cVal!written_sectors
End
Ma è tardissimo, corro a dormire...
Cosa intendi dire più precisamente ?
Dire che condivido la domanda di vuott o per meglio dire la perplessità è dire poco.
Ma che razza di domanda è? Ti ho appena esortato a studiare e provare e tu esci con questa domanda sciocca?
Guarda che qui siamo all'ABC di Gambas, ognuno è padrone di studiare un linguaggio partendo da dove crede opportuno e se uno è particolarmente ferrato nelle espressioni regolari... certo è che non hai scelto un argomento facile.
A parte che ti ho già mostrato prima come funziona un ciclo FOR EACH perché non provi a cambiarlo così e cerchi di imparare e soprattutto capire le basi di Gambas?
Public Sub Main()
Dim sVal As String
For Each sVal In ["Paperino", "Qui", "Quo", "Qua"]
Print sVal
Next
End
Public Sub Main()
Dim sVal As String
For Each sVal In ["Paperino", "Qui", "Quo", "Qua"]
Print sVal
Next
End
studiero l esempio
L'esempio di Gianluigi va sostanzialmente letto così:
' Per ogni stringa contenuta nell'array...
For Each sVal In ["Paperino", "Qui", "Quo", "Qua"]
' ...stampane i caratteri nello standard output:
Print sVal
Next