Ho una stringa così:
Miastringa: Cod: 100 - Art: Pippo - Tipo: 03 - Giacca - Taglia: M
vorrei da quella stringa estrapolare solo alcuni dati e inserirli in 3 variabili
var1 = 100;
var2 = 03;
var3 = M;
Ho una stringa così:
Miastringa: Cod: 100 - Art: Pippo - Tipo: 03 - Giacca - Taglia: M
vorrei da quella stringa estrapolare solo alcuni dati e inserirli in 3 variabili
var1 = 100;
var2 = 03;
var3 = M;
in proprieta_articoli avrai "100","pippo","03","M" (è un array di stringhe)codice:Dim inizio As String = "Cod: 100 - Art: Pippo - Tipo: 03 - Giacca - Taglia: M" Dim articolo() As String = Split(inizio, "-") Dim sb As New System.Text.StringBuilder Dim proprieta_articoli() As String For indice As Integer = 0 To UBound(articolo) Dim pos As Integer = InStr(articolo(indice), ":") If pos > 0 Then sb.Append(Trim(Mid(articolo(indice), pos + 2) & ",")) End If Next proprieta_articoli = Split(sb.ToString, ",") ' Proprietà For indice As Integer = 0 To UBound(proprieta_articoli) Response.Write(Trim(proprieta_articoli(indice))) Next
per non prendere "pippo" non saprei come fare :master:
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
codice:<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim Pattern$ = "^.+Cod: (\d+).+Art: (\w+).+Tipo: (\d+).+Taglia: (\w+)\s* $" 'definisco la espressione regolare Dim re As New Regex(Pattern) 'sorgente Dim source$ = "Miastringa: Cod: 100 - Art: Pippo - Tipo: 03 - Giacca - Taglia: M " 'verifico se ho trovato corrispondenza Dim IsMatch As Boolean = re.IsMatch(source) Me.lbl1.Text = "IsMatch = " & IsMatch & " " If Not IsMatch Then Exit Sub 'ottengo la collezione delle corrispondenze Dim mc As MatchCollection = re.Matches(source) 'visualizzo le corrispondenze trovate For Each m As Match In mc 'Me.lbl1.Text &= "Trovato '" & m.Value & "' alla posizione " & m.Index & " " Dim gs As GroupCollection = m.Groups For i As Integer = 1 To gs.Count - 1 Dim g As Group = gs(i) Me.lbl1.Text &= "gruppo(" & i & ") = '" & g.Value & "' alla posizione " & g.Index & " " Next Next Dim var1$ = mc(0).Groups(1).Value : PrintLn(var1) Dim var2$ = mc(0).Groups(3).Value : PrintLn(var2) Dim var3$ = mc(0).Groups(4).Value : PrintLn(var3) End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Pagina senza titolo</title> </head> <body> <form id="form1" runat="server"> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> <asp:Label ID="lbl1" runat="server" Text="" EnableViewState="false"></asp:Label> </form> </body> </html>
Pietro
:master: ho tempo solo fino a venerdì mattina per leggere la soluzione dello spezzatino di stringa. Dopo lascerò (speriamo) il computer spento per un mese
![]()
mare... nuotate... bicicletta... dormire alla grande...:rollo:
![]()
![]()
Pietro